#pragma once
/** @file mocapnet2.hpp
 *  @brief The MocapNET C library
 *  As seen in https://www.youtube.com/watch?v=fH5e-KMBvM0 , the MocapNET network requires two types of input.
 *  The first is an uncompressed list of (x,y,v) joints and the second an NSDM array. To add to those the output consists of BVH
 *  frames that must be accompanied by a header. This library internally handles all of these details.
 *  @author Ammar Qammaz (AmmarkoV)
 */
#include "../../Tensorflow/tensorflow.hpp"


#include "applicationLogic/poseRecognition.hpp"
#include "applicationLogic/gestureRecognition.hpp"
#include "applicationLogic/artifactRecognition.hpp"
#include "applicationLogic/parseCommandlineOptions.hpp"
#include "postProcessing/outputFiltering.hpp"
#include "IO/commonSkeleton.hpp"


#include "NSDM/generated_upperbody.hpp"
#include "NSDM/generated_lowerbody.hpp"
#include "NSDM/generated_body.hpp"

#include <iostream>
#include <vector>


/**
 * @brief MocapNET version  
 */
static const char MocapNETVersion[] = { "2.1" };

/**
 * @brief MocapNET has been trained on 1920x1080 frames, so all the received coordinates are normalized in the
*   0..1 range based on that. This means that the NN learns the X and Y variations. If a joint lies at  pixel 500,500
* it will be represented as 500/1920  , 500/1080.
* Now if a user uses another configuration, let's say a vertical (portrait) feed where the resolution is 1080x1920
* the 2D points will get normalized at 500/1080 , 500/1920 and the resulting 2D joint cloud won't work as well
* This is why it is better to change the aspect ratio while normalizing
 */
static const unsigned int MocapNETTrainingWidth=1920, MocapNETTrainingHeight=1080;



/**
 * @brief MocapNET output joint names that correspond to the BVH file
 * These should correspond to `cat dataset/headerWithHeadAndOneMotion.bvh | grep JOINT`
*/
static const char * MocapNETOutputJointNames[] =
{
"hip",
"abdomen",
"chest",
"neck",
"neck1",
"head",
"__jaw",
"jaw",
"special04",
"oris02",
"oris01",
"oris06.l",
"oris07.l",
"oris06.r",
"oris07.r",
"tongue00",
"tongue01",
"tongue02",
"tongue03",
"__tongue04",
"tongue04",
"tongue07.l",
"tongue07.r",
"tongue06.l",
"tongue06.r",
"tongue05.l",
"tongue05.r",
"__levator02.l",
"levator02.l",
"levator03.l",
"levator04.l",
"levator05.l",
"__levator02.r",
"levator02.r",
"levator03.r",
"levator04.r",
"levator05.r",
"__special01",
"special01",
"oris04.l",
"oris03.l",
"oris04.r",
"oris03.r",
"oris06",
"oris05",
"__special03",
"special03",
"__levator06.l",
"levator06.l",
"__levator06.r",
"levator06.r",
"special06.l",
"special05.l",
"eye.l",
"orbicularis03.l",
"orbicularis04.l",
"special06.r",
"special05.r",
"eye.r",
"orbicularis03.r",
"orbicularis04.r",
"__temporalis01.l",
"temporalis01.l",
"oculi02.l",
"oculi01.l",
"__temporalis01.r",
"temporalis01.r",
"oculi02.r",
"oculi01.r",
"__temporalis02.l",
"temporalis02.l",
"risorius02.l",
"risorius03.l",
"__temporalis02.r",
"temporalis02.r",
"risorius02.r",
"risorius03.r",
"rCollar",
"rShldr",
"rForeArm",
"rHand",
"metacarpal1.r",
"finger2-1.r",
"finger2-2.r",
"finger2-3.r",
"metacarpal2.r",
"finger3-1.r",
"finger3-2.r",
"finger3-3.r",
"__metacarpal3.r",
"metacarpal3.r",
"finger4-1.r",
"finger4-2.r",
"finger4-3.r",
"__metacarpal4.r",
"metacarpal4.r",
"finger5-1.r",
"finger5-2.r",
"finger5-3.r",
"__rthumb",
"rthumb",
"finger1-2.r",
"finger1-3.r",
"lCollar",
"lShldr",
"lForeArm",
"lHand",
"metacarpal1.l",
"finger2-1.l",
"finger2-2.l",
"finger2-3.l",
"metacarpal2.l",
"finger3-1.l",
"finger3-2.l",
"finger3-3.l",
"__metacarpal3.l",
"metacarpal3.l",
"finger4-1.l",
"finger4-2.l",
"finger4-3.l",
"__metacarpal4.l",
"metacarpal4.l",
"finger5-1.l",
"finger5-2.l",
"finger5-3.l",
"__lthumb",
"lthumb",
"finger1-2.l",
"finger1-3.l",
"rButtock",
"rThigh",
"rShin",
"rFoot",
"toe1-1.R",
"toe1-2.R",
"toe2-1.R",
"toe2-2.R",
"toe2-3.R",
"toe3-1.R",
"toe3-2.R",
"toe3-3.R",
"toe4-1.R",
"toe4-2.R",
"toe4-3.R",
"toe5-1.R",
"toe5-2.R",
"toe5-3.R",
"lButtock",
"lThigh",
"lShin",
"lFoot",
"toe1-1.L",
"toe1-2.L",
"toe2-1.L",
"toe2-2.L",
"toe2-3.L",
"toe3-1.L",
"toe3-2.L",
"toe3-3.L",
"toe4-1.L",
"toe4-2.L",
"toe4-3.L",
"toe5-1.L",
"toe5-2.L",
"toe5-3.L"
};






/**
 * @brief This is a programmer friendly enumerator of joint output extracted from MocapNET.
 * Use ./GroundTruthDumper --from dataset/headerWithHeadAndOneMotion.bvh --printc
 * to extract this automatically
 */
enum MOCAPNET_Output_Joint_Name_ENUM
{
MOCAPNET_OUTPUT_JOINT_HIP,
MOCAPNET_OUTPUT_JOINT_ABDOMEN,
MOCAPNET_OUTPUT_JOINT_CHEST,
MOCAPNET_OUTPUT_JOINT_NECK,
MOCAPNET_OUTPUT_JOINT_NECK1,
MOCAPNET_OUTPUT_JOINT_HEAD,
MOCAPNET_OUTPUT_JOINT___JAW,
MOCAPNET_OUTPUT_JOINT_JAW,
MOCAPNET_OUTPUT_JOINT_SPECIAL04,
MOCAPNET_OUTPUT_JOINT_ORIS02,
MOCAPNET_OUTPUT_JOINT_ORIS01,
MOCAPNET_OUTPUT_JOINT_ORIS06_L,
MOCAPNET_OUTPUT_JOINT_ORIS07_L,
MOCAPNET_OUTPUT_JOINT_ORIS06_R,
MOCAPNET_OUTPUT_JOINT_ORIS07_R,
MOCAPNET_OUTPUT_JOINT_TONGUE00,
MOCAPNET_OUTPUT_JOINT_TONGUE01,
MOCAPNET_OUTPUT_JOINT_TONGUE02,
MOCAPNET_OUTPUT_JOINT_TONGUE03,
MOCAPNET_OUTPUT_JOINT___TONGUE04,
MOCAPNET_OUTPUT_JOINT_TONGUE04,
MOCAPNET_OUTPUT_JOINT_TONGUE07_L,
MOCAPNET_OUTPUT_JOINT_TONGUE07_R,
MOCAPNET_OUTPUT_JOINT_TONGUE06_L,
MOCAPNET_OUTPUT_JOINT_TONGUE06_R,
MOCAPNET_OUTPUT_JOINT_TONGUE05_L,
MOCAPNET_OUTPUT_JOINT_TONGUE05_R,
MOCAPNET_OUTPUT_JOINT___LEVATOR02_L,
MOCAPNET_OUTPUT_JOINT_LEVATOR02_L,
MOCAPNET_OUTPUT_JOINT_LEVATOR03_L,
MOCAPNET_OUTPUT_JOINT_LEVATOR04_L,
MOCAPNET_OUTPUT_JOINT_LEVATOR05_L,
MOCAPNET_OUTPUT_JOINT___LEVATOR02_R,
MOCAPNET_OUTPUT_JOINT_LEVATOR02_R,
MOCAPNET_OUTPUT_JOINT_LEVATOR03_R,
MOCAPNET_OUTPUT_JOINT_LEVATOR04_R,
MOCAPNET_OUTPUT_JOINT_LEVATOR05_R,
MOCAPNET_OUTPUT_JOINT___SPECIAL01,
MOCAPNET_OUTPUT_JOINT_SPECIAL01,
MOCAPNET_OUTPUT_JOINT_ORIS04_L,
MOCAPNET_OUTPUT_JOINT_ORIS03_L,
MOCAPNET_OUTPUT_JOINT_ORIS04_R,
MOCAPNET_OUTPUT_JOINT_ORIS03_R,
MOCAPNET_OUTPUT_JOINT_ORIS06,
MOCAPNET_OUTPUT_JOINT_ORIS05,
MOCAPNET_OUTPUT_JOINT___SPECIAL03,
MOCAPNET_OUTPUT_JOINT_SPECIAL03,
MOCAPNET_OUTPUT_JOINT___LEVATOR06_L,
MOCAPNET_OUTPUT_JOINT_LEVATOR06_L,
MOCAPNET_OUTPUT_JOINT___LEVATOR06_R,
MOCAPNET_OUTPUT_JOINT_LEVATOR06_R,
MOCAPNET_OUTPUT_JOINT_SPECIAL06_L,
MOCAPNET_OUTPUT_JOINT_SPECIAL05_L,
MOCAPNET_OUTPUT_JOINT_EYE_L,
MOCAPNET_OUTPUT_JOINT_ORBICULARIS03_L,
MOCAPNET_OUTPUT_JOINT_ORBICULARIS04_L,
MOCAPNET_OUTPUT_JOINT_SPECIAL06_R,
MOCAPNET_OUTPUT_JOINT_SPECIAL05_R,
MOCAPNET_OUTPUT_JOINT_EYE_R,
MOCAPNET_OUTPUT_JOINT_ORBICULARIS03_R,
MOCAPNET_OUTPUT_JOINT_ORBICULARIS04_R,
MOCAPNET_OUTPUT_JOINT___TEMPORALIS01_L,
MOCAPNET_OUTPUT_JOINT_TEMPORALIS01_L,
MOCAPNET_OUTPUT_JOINT_OCULI02_L,
MOCAPNET_OUTPUT_JOINT_OCULI01_L,
MOCAPNET_OUTPUT_JOINT___TEMPORALIS01_R,
MOCAPNET_OUTPUT_JOINT_TEMPORALIS01_R,
MOCAPNET_OUTPUT_JOINT_OCULI02_R,
MOCAPNET_OUTPUT_JOINT_OCULI01_R,
MOCAPNET_OUTPUT_JOINT___TEMPORALIS02_L,
MOCAPNET_OUTPUT_JOINT_TEMPORALIS02_L,
MOCAPNET_OUTPUT_JOINT_RISORIUS02_L,
MOCAPNET_OUTPUT_JOINT_RISORIUS03_L,
MOCAPNET_OUTPUT_JOINT___TEMPORALIS02_R,
MOCAPNET_OUTPUT_JOINT_TEMPORALIS02_R,
MOCAPNET_OUTPUT_JOINT_RISORIUS02_R,
MOCAPNET_OUTPUT_JOINT_RISORIUS03_R,
MOCAPNET_OUTPUT_JOINT_RCOLLAR,
MOCAPNET_OUTPUT_JOINT_RSHLDR,
MOCAPNET_OUTPUT_JOINT_RFOREARM,
MOCAPNET_OUTPUT_JOINT_RHAND,
MOCAPNET_OUTPUT_JOINT_METACARPAL1_R,
MOCAPNET_OUTPUT_JOINT_FINGER2_1_R,
MOCAPNET_OUTPUT_JOINT_FINGER2_2_R,
MOCAPNET_OUTPUT_JOINT_FINGER2_3_R,
MOCAPNET_OUTPUT_JOINT_METACARPAL2_R,
MOCAPNET_OUTPUT_JOINT_FINGER3_1_R,
MOCAPNET_OUTPUT_JOINT_FINGER3_2_R,
MOCAPNET_OUTPUT_JOINT_FINGER3_3_R,
MOCAPNET_OUTPUT_JOINT___METACARPAL3_R,
MOCAPNET_OUTPUT_JOINT_METACARPAL3_R,
MOCAPNET_OUTPUT_JOINT_FINGER4_1_R,
MOCAPNET_OUTPUT_JOINT_FINGER4_2_R,
MOCAPNET_OUTPUT_JOINT_FINGER4_3_R,
MOCAPNET_OUTPUT_JOINT___METACARPAL4_R,
MOCAPNET_OUTPUT_JOINT_METACARPAL4_R,
MOCAPNET_OUTPUT_JOINT_FINGER5_1_R,
MOCAPNET_OUTPUT_JOINT_FINGER5_2_R,
MOCAPNET_OUTPUT_JOINT_FINGER5_3_R,
MOCAPNET_OUTPUT_JOINT___RTHUMB,
MOCAPNET_OUTPUT_JOINT_RTHUMB,
MOCAPNET_OUTPUT_JOINT_FINGER1_2_R,
MOCAPNET_OUTPUT_JOINT_FINGER1_3_R,
MOCAPNET_OUTPUT_JOINT_LCOLLAR,
MOCAPNET_OUTPUT_JOINT_LSHLDR,
MOCAPNET_OUTPUT_JOINT_LFOREARM,
MOCAPNET_OUTPUT_JOINT_LHAND,
MOCAPNET_OUTPUT_JOINT_METACARPAL1_L,
MOCAPNET_OUTPUT_JOINT_FINGER2_1_L,
MOCAPNET_OUTPUT_JOINT_FINGER2_2_L,
MOCAPNET_OUTPUT_JOINT_FINGER2_3_L,
MOCAPNET_OUTPUT_JOINT_METACARPAL2_L,
MOCAPNET_OUTPUT_JOINT_FINGER3_1_L,
MOCAPNET_OUTPUT_JOINT_FINGER3_2_L,
MOCAPNET_OUTPUT_JOINT_FINGER3_3_L,
MOCAPNET_OUTPUT_JOINT___METACARPAL3_L,
MOCAPNET_OUTPUT_JOINT_METACARPAL3_L,
MOCAPNET_OUTPUT_JOINT_FINGER4_1_L,
MOCAPNET_OUTPUT_JOINT_FINGER4_2_L,
MOCAPNET_OUTPUT_JOINT_FINGER4_3_L,
MOCAPNET_OUTPUT_JOINT___METACARPAL4_L,
MOCAPNET_OUTPUT_JOINT_METACARPAL4_L,
MOCAPNET_OUTPUT_JOINT_FINGER5_1_L,
MOCAPNET_OUTPUT_JOINT_FINGER5_2_L,
MOCAPNET_OUTPUT_JOINT_FINGER5_3_L,
MOCAPNET_OUTPUT_JOINT___LTHUMB,
MOCAPNET_OUTPUT_JOINT_LTHUMB,
MOCAPNET_OUTPUT_JOINT_FINGER1_2_L,
MOCAPNET_OUTPUT_JOINT_FINGER1_3_L,
MOCAPNET_OUTPUT_JOINT_RBUTTOCK,
MOCAPNET_OUTPUT_JOINT_RTHIGH,
MOCAPNET_OUTPUT_JOINT_RSHIN,
MOCAPNET_OUTPUT_JOINT_RFOOT,
MOCAPNET_OUTPUT_JOINT_TOE1_1_R,
MOCAPNET_OUTPUT_JOINT_TOE1_2_R,
MOCAPNET_OUTPUT_JOINT_TOE2_1_R,
MOCAPNET_OUTPUT_JOINT_TOE2_2_R,
MOCAPNET_OUTPUT_JOINT_TOE2_3_R,
MOCAPNET_OUTPUT_JOINT_TOE3_1_R,
MOCAPNET_OUTPUT_JOINT_TOE3_2_R,
MOCAPNET_OUTPUT_JOINT_TOE3_3_R,
MOCAPNET_OUTPUT_JOINT_TOE4_1_R,
MOCAPNET_OUTPUT_JOINT_TOE4_2_R,
MOCAPNET_OUTPUT_JOINT_TOE4_3_R,
MOCAPNET_OUTPUT_JOINT_TOE5_1_R,
MOCAPNET_OUTPUT_JOINT_TOE5_2_R,
MOCAPNET_OUTPUT_JOINT_TOE5_3_R,
MOCAPNET_OUTPUT_JOINT_LBUTTOCK,
MOCAPNET_OUTPUT_JOINT_LTHIGH,
MOCAPNET_OUTPUT_JOINT_LSHIN,
MOCAPNET_OUTPUT_JOINT_LFOOT,
MOCAPNET_OUTPUT_JOINT_TOE1_1_L,
MOCAPNET_OUTPUT_JOINT_TOE1_2_L,
MOCAPNET_OUTPUT_JOINT_TOE2_1_L,
MOCAPNET_OUTPUT_JOINT_TOE2_2_L,
MOCAPNET_OUTPUT_JOINT_TOE2_3_L,
MOCAPNET_OUTPUT_JOINT_TOE3_1_L,
MOCAPNET_OUTPUT_JOINT_TOE3_2_L,
MOCAPNET_OUTPUT_JOINT_TOE3_3_L,
MOCAPNET_OUTPUT_JOINT_TOE4_1_L,
MOCAPNET_OUTPUT_JOINT_TOE4_2_L,
MOCAPNET_OUTPUT_JOINT_TOE4_3_L,
MOCAPNET_OUTPUT_JOINT_TOE5_1_L,
MOCAPNET_OUTPUT_JOINT_TOE5_2_L,
MOCAPNET_OUTPUT_JOINT_TOE5_3_L
};




/**
 * @brief This is a programmer friendly enumerator to access 3D output  extracted from the BVH file_
 *  Use _/GroundTruthDumper __from dataset/headerWithHeadAndOneMotion_bvh __printc  to extract this automatically
 */
enum MOCAPNET_2D_Output_Joints
{
MOCAPNET_2DPOINT_HIPX,//0
MOCAPNET_2DPOINT_HIPY,//1
MOCAPNET_2DPOINT_ABDOMENX,//2
MOCAPNET_2DPOINT_ABDOMENY,//3
MOCAPNET_2DPOINT_CHESTX,//4
MOCAPNET_2DPOINT_CHESTY,//5
MOCAPNET_2DPOINT_NECKX,//6
MOCAPNET_2DPOINT_NECKY,//7
MOCAPNET_2DPOINT_NECK1X,//8
MOCAPNET_2DPOINT_NECK1Y,//9
MOCAPNET_2DPOINT_HEADX,//10
MOCAPNET_2DPOINT_HEADY,//11
MOCAPNET_2DPOINT___JAWX,//12
MOCAPNET_2DPOINT___JAWY,//13
MOCAPNET_2DPOINT_JAWX,//14
MOCAPNET_2DPOINT_JAWY,//15
MOCAPNET_2DPOINT_SPECIAL04X,//16
MOCAPNET_2DPOINT_SPECIAL04Y,//17
MOCAPNET_2DPOINT_ORIS02X,//18
MOCAPNET_2DPOINT_ORIS02Y,//19
MOCAPNET_2DPOINT_ORIS01X,//20
MOCAPNET_2DPOINT_ORIS01Y,//21
MOCAPNET_2DPOINT_ENDSITE_ORIS01X,//22
MOCAPNET_2DPOINT_ENDSITE_ORIS01Y,//23
MOCAPNET_2DPOINT_ORIS06_LX,//24
MOCAPNET_2DPOINT_ORIS06_LY,//25
MOCAPNET_2DPOINT_ORIS07_LX,//26
MOCAPNET_2DPOINT_ORIS07_LY,//27
MOCAPNET_2DPOINT_ENDSITE_ORIS07_LX,//28
MOCAPNET_2DPOINT_ENDSITE_ORIS07_LY,//29
MOCAPNET_2DPOINT_ORIS06_RX,//30
MOCAPNET_2DPOINT_ORIS06_RY,//31
MOCAPNET_2DPOINT_ORIS07_RX,//32
MOCAPNET_2DPOINT_ORIS07_RY,//33
MOCAPNET_2DPOINT_ENDSITE_ORIS07_RX,//34
MOCAPNET_2DPOINT_ENDSITE_ORIS07_RY,//35
MOCAPNET_2DPOINT_TONGUE00X,//36
MOCAPNET_2DPOINT_TONGUE00Y,//37
MOCAPNET_2DPOINT_TONGUE01X,//38
MOCAPNET_2DPOINT_TONGUE01Y,//39
MOCAPNET_2DPOINT_TONGUE02X,//40
MOCAPNET_2DPOINT_TONGUE02Y,//41
MOCAPNET_2DPOINT_TONGUE03X,//42
MOCAPNET_2DPOINT_TONGUE03Y,//43
MOCAPNET_2DPOINT___TONGUE04X,//44
MOCAPNET_2DPOINT___TONGUE04Y,//45
MOCAPNET_2DPOINT_TONGUE04X,//46
MOCAPNET_2DPOINT_TONGUE04Y,//47
MOCAPNET_2DPOINT_ENDSITE_TONGUE04X,//48
MOCAPNET_2DPOINT_ENDSITE_TONGUE04Y,//49
MOCAPNET_2DPOINT_TONGUE07_LX,//50
MOCAPNET_2DPOINT_TONGUE07_LY,//51
MOCAPNET_2DPOINT_ENDSITE_TONGUE07_LX,//52
MOCAPNET_2DPOINT_ENDSITE_TONGUE07_LY,//53
MOCAPNET_2DPOINT_TONGUE07_RX,//54
MOCAPNET_2DPOINT_TONGUE07_RY,//55
MOCAPNET_2DPOINT_ENDSITE_TONGUE07_RX,//56
MOCAPNET_2DPOINT_ENDSITE_TONGUE07_RY,//57
MOCAPNET_2DPOINT_TONGUE06_LX,//58
MOCAPNET_2DPOINT_TONGUE06_LY,//59
MOCAPNET_2DPOINT_ENDSITE_TONGUE06_LX,//60
MOCAPNET_2DPOINT_ENDSITE_TONGUE06_LY,//61
MOCAPNET_2DPOINT_TONGUE06_RX,//62
MOCAPNET_2DPOINT_TONGUE06_RY,//63
MOCAPNET_2DPOINT_ENDSITE_TONGUE06_RX,//64
MOCAPNET_2DPOINT_ENDSITE_TONGUE06_RY,//65
MOCAPNET_2DPOINT_TONGUE05_LX,//66
MOCAPNET_2DPOINT_TONGUE05_LY,//67
MOCAPNET_2DPOINT_ENDSITE_TONGUE05_LX,//68
MOCAPNET_2DPOINT_ENDSITE_TONGUE05_LY,//69
MOCAPNET_2DPOINT_TONGUE05_RX,//70
MOCAPNET_2DPOINT_TONGUE05_RY,//71
MOCAPNET_2DPOINT_ENDSITE_TONGUE05_RX,//72
MOCAPNET_2DPOINT_ENDSITE_TONGUE05_RY,//73
MOCAPNET_2DPOINT___LEVATOR02_LX,//74
MOCAPNET_2DPOINT___LEVATOR02_LY,//75
MOCAPNET_2DPOINT_LEVATOR02_LX,//76
MOCAPNET_2DPOINT_LEVATOR02_LY,//77
MOCAPNET_2DPOINT_LEVATOR03_LX,//78
MOCAPNET_2DPOINT_LEVATOR03_LY,//79
MOCAPNET_2DPOINT_LEVATOR04_LX,//80
MOCAPNET_2DPOINT_LEVATOR04_LY,//81
MOCAPNET_2DPOINT_LEVATOR05_LX,//82
MOCAPNET_2DPOINT_LEVATOR05_LY,//83
MOCAPNET_2DPOINT_ENDSITE_LEVATOR05_LX,//84
MOCAPNET_2DPOINT_ENDSITE_LEVATOR05_LY,//85
MOCAPNET_2DPOINT___LEVATOR02_RX,//86
MOCAPNET_2DPOINT___LEVATOR02_RY,//87
MOCAPNET_2DPOINT_LEVATOR02_RX,//88
MOCAPNET_2DPOINT_LEVATOR02_RY,//89
MOCAPNET_2DPOINT_LEVATOR03_RX,//90
MOCAPNET_2DPOINT_LEVATOR03_RY,//91
MOCAPNET_2DPOINT_LEVATOR04_RX,//92
MOCAPNET_2DPOINT_LEVATOR04_RY,//93
MOCAPNET_2DPOINT_LEVATOR05_RX,//94
MOCAPNET_2DPOINT_LEVATOR05_RY,//95
MOCAPNET_2DPOINT_ENDSITE_LEVATOR05_RX,//96
MOCAPNET_2DPOINT_ENDSITE_LEVATOR05_RY,//97
MOCAPNET_2DPOINT___SPECIAL01X,//98
MOCAPNET_2DPOINT___SPECIAL01Y,//99
MOCAPNET_2DPOINT_SPECIAL01X,//100
MOCAPNET_2DPOINT_SPECIAL01Y,//101
MOCAPNET_2DPOINT_ORIS04_LX,//102
MOCAPNET_2DPOINT_ORIS04_LY,//103
MOCAPNET_2DPOINT_ORIS03_LX,//104
MOCAPNET_2DPOINT_ORIS03_LY,//105
MOCAPNET_2DPOINT_ENDSITE_ORIS03_LX,//106
MOCAPNET_2DPOINT_ENDSITE_ORIS03_LY,//107
MOCAPNET_2DPOINT_ORIS04_RX,//108
MOCAPNET_2DPOINT_ORIS04_RY,//109
MOCAPNET_2DPOINT_ORIS03_RX,//110
MOCAPNET_2DPOINT_ORIS03_RY,//111
MOCAPNET_2DPOINT_ENDSITE_ORIS03_RX,//112
MOCAPNET_2DPOINT_ENDSITE_ORIS03_RY,//113
MOCAPNET_2DPOINT_ORIS06X,//114
MOCAPNET_2DPOINT_ORIS06Y,//115
MOCAPNET_2DPOINT_ORIS05X,//116
MOCAPNET_2DPOINT_ORIS05Y,//117
MOCAPNET_2DPOINT_ENDSITE_ORIS05X,//118
MOCAPNET_2DPOINT_ENDSITE_ORIS05Y,//119
MOCAPNET_2DPOINT___SPECIAL03X,//120
MOCAPNET_2DPOINT___SPECIAL03Y,//121
MOCAPNET_2DPOINT_SPECIAL03X,//122
MOCAPNET_2DPOINT_SPECIAL03Y,//123
MOCAPNET_2DPOINT___LEVATOR06_LX,//124
MOCAPNET_2DPOINT___LEVATOR06_LY,//125
MOCAPNET_2DPOINT_LEVATOR06_LX,//126
MOCAPNET_2DPOINT_LEVATOR06_LY,//127
MOCAPNET_2DPOINT_ENDSITE_LEVATOR06_LX,//128
MOCAPNET_2DPOINT_ENDSITE_LEVATOR06_LY,//129
MOCAPNET_2DPOINT___LEVATOR06_RX,//130
MOCAPNET_2DPOINT___LEVATOR06_RY,//131
MOCAPNET_2DPOINT_LEVATOR06_RX,//132
MOCAPNET_2DPOINT_LEVATOR06_RY,//133
MOCAPNET_2DPOINT_ENDSITE_LEVATOR06_RX,//134
MOCAPNET_2DPOINT_ENDSITE_LEVATOR06_RY,//135
MOCAPNET_2DPOINT_SPECIAL06_LX,//136
MOCAPNET_2DPOINT_SPECIAL06_LY,//137
MOCAPNET_2DPOINT_SPECIAL05_LX,//138
MOCAPNET_2DPOINT_SPECIAL05_LY,//139
MOCAPNET_2DPOINT_EYE_LX,//140
MOCAPNET_2DPOINT_EYE_LY,//141
MOCAPNET_2DPOINT_ENDSITE_EYE_LX,//142
MOCAPNET_2DPOINT_ENDSITE_EYE_LY,//143
MOCAPNET_2DPOINT_ORBICULARIS03_LX,//144
MOCAPNET_2DPOINT_ORBICULARIS03_LY,//145
MOCAPNET_2DPOINT_ENDSITE_ORBICULARIS03_LX,//146
MOCAPNET_2DPOINT_ENDSITE_ORBICULARIS03_LY,//147
MOCAPNET_2DPOINT_ORBICULARIS04_LX,//148
MOCAPNET_2DPOINT_ORBICULARIS04_LY,//149
MOCAPNET_2DPOINT_ENDSITE_ORBICULARIS04_LX,//150
MOCAPNET_2DPOINT_ENDSITE_ORBICULARIS04_LY,//151
MOCAPNET_2DPOINT_SPECIAL06_RX,//152
MOCAPNET_2DPOINT_SPECIAL06_RY,//153
MOCAPNET_2DPOINT_SPECIAL05_RX,//154
MOCAPNET_2DPOINT_SPECIAL05_RY,//155
MOCAPNET_2DPOINT_EYE_RX,//156
MOCAPNET_2DPOINT_EYE_RY,//157
MOCAPNET_2DPOINT_ENDSITE_EYE_RX,//158
MOCAPNET_2DPOINT_ENDSITE_EYE_RY,//159
MOCAPNET_2DPOINT_ORBICULARIS03_RX,//160
MOCAPNET_2DPOINT_ORBICULARIS03_RY,//161
MOCAPNET_2DPOINT_ENDSITE_ORBICULARIS03_RX,//162
MOCAPNET_2DPOINT_ENDSITE_ORBICULARIS03_RY,//163
MOCAPNET_2DPOINT_ORBICULARIS04_RX,//164
MOCAPNET_2DPOINT_ORBICULARIS04_RY,//165
MOCAPNET_2DPOINT_ENDSITE_ORBICULARIS04_RX,//166
MOCAPNET_2DPOINT_ENDSITE_ORBICULARIS04_RY,//167
MOCAPNET_2DPOINT___TEMPORALIS01_LX,//168
MOCAPNET_2DPOINT___TEMPORALIS01_LY,//169
MOCAPNET_2DPOINT_TEMPORALIS01_LX,//170
MOCAPNET_2DPOINT_TEMPORALIS01_LY,//171
MOCAPNET_2DPOINT_OCULI02_LX,//172
MOCAPNET_2DPOINT_OCULI02_LY,//173
MOCAPNET_2DPOINT_OCULI01_LX,//174
MOCAPNET_2DPOINT_OCULI01_LY,//175
MOCAPNET_2DPOINT_ENDSITE_OCULI01_LX,//176
MOCAPNET_2DPOINT_ENDSITE_OCULI01_LY,//177
MOCAPNET_2DPOINT___TEMPORALIS01_RX,//178
MOCAPNET_2DPOINT___TEMPORALIS01_RY,//179
MOCAPNET_2DPOINT_TEMPORALIS01_RX,//180
MOCAPNET_2DPOINT_TEMPORALIS01_RY,//181
MOCAPNET_2DPOINT_OCULI02_RX,//182
MOCAPNET_2DPOINT_OCULI02_RY,//183
MOCAPNET_2DPOINT_OCULI01_RX,//184
MOCAPNET_2DPOINT_OCULI01_RY,//185
MOCAPNET_2DPOINT_ENDSITE_OCULI01_RX,//186
MOCAPNET_2DPOINT_ENDSITE_OCULI01_RY,//187
MOCAPNET_2DPOINT___TEMPORALIS02_LX,//188
MOCAPNET_2DPOINT___TEMPORALIS02_LY,//189
MOCAPNET_2DPOINT_TEMPORALIS02_LX,//190
MOCAPNET_2DPOINT_TEMPORALIS02_LY,//191
MOCAPNET_2DPOINT_RISORIUS02_LX,//192
MOCAPNET_2DPOINT_RISORIUS02_LY,//193
MOCAPNET_2DPOINT_RISORIUS03_LX,//194
MOCAPNET_2DPOINT_RISORIUS03_LY,//195
MOCAPNET_2DPOINT_ENDSITE_RISORIUS03_LX,//196
MOCAPNET_2DPOINT_ENDSITE_RISORIUS03_LY,//197
MOCAPNET_2DPOINT___TEMPORALIS02_RX,//198
MOCAPNET_2DPOINT___TEMPORALIS02_RY,//199
MOCAPNET_2DPOINT_TEMPORALIS02_RX,//200
MOCAPNET_2DPOINT_TEMPORALIS02_RY,//201
MOCAPNET_2DPOINT_RISORIUS02_RX,//202
MOCAPNET_2DPOINT_RISORIUS02_RY,//203
MOCAPNET_2DPOINT_RISORIUS03_RX,//204
MOCAPNET_2DPOINT_RISORIUS03_RY,//205
MOCAPNET_2DPOINT_ENDSITE_RISORIUS03_RX,//206
MOCAPNET_2DPOINT_ENDSITE_RISORIUS03_RY,//207
MOCAPNET_2DPOINT_RCOLLARX,//208
MOCAPNET_2DPOINT_RCOLLARY,//209
MOCAPNET_2DPOINT_RSHOULDERX,//210
MOCAPNET_2DPOINT_RSHOULDERY,//211
MOCAPNET_2DPOINT_RELBOWX,//212
MOCAPNET_2DPOINT_RELBOWY,//213
MOCAPNET_2DPOINT_RHANDX,//214
MOCAPNET_2DPOINT_RHANDY,//215
MOCAPNET_2DPOINT_METACARPAL1_RX,//216
MOCAPNET_2DPOINT_METACARPAL1_RY,//217
MOCAPNET_2DPOINT_FINGER2_1_RX,//218
MOCAPNET_2DPOINT_FINGER2_1_RY,//219
MOCAPNET_2DPOINT_FINGER2_2_RX,//220
MOCAPNET_2DPOINT_FINGER2_2_RY,//221
MOCAPNET_2DPOINT_FINGER2_3_RX,//222
MOCAPNET_2DPOINT_FINGER2_3_RY,//223
MOCAPNET_2DPOINT_ENDSITE_FINGER2_3_RX,//224
MOCAPNET_2DPOINT_ENDSITE_FINGER2_3_RY,//225
MOCAPNET_2DPOINT_METACARPAL2_RX,//226
MOCAPNET_2DPOINT_METACARPAL2_RY,//227
MOCAPNET_2DPOINT_FINGER3_1_RX,//228
MOCAPNET_2DPOINT_FINGER3_1_RY,//229
MOCAPNET_2DPOINT_FINGER3_2_RX,//230
MOCAPNET_2DPOINT_FINGER3_2_RY,//231
MOCAPNET_2DPOINT_FINGER3_3_RX,//232
MOCAPNET_2DPOINT_FINGER3_3_RY,//233
MOCAPNET_2DPOINT_ENDSITE_FINGER3_3_RX,//234
MOCAPNET_2DPOINT_ENDSITE_FINGER3_3_RY,//235
MOCAPNET_2DPOINT___METACARPAL3_RX,//236
MOCAPNET_2DPOINT___METACARPAL3_RY,//237
MOCAPNET_2DPOINT_METACARPAL3_RX,//238
MOCAPNET_2DPOINT_METACARPAL3_RY,//239
MOCAPNET_2DPOINT_FINGER4_1_RX,//240
MOCAPNET_2DPOINT_FINGER4_1_RY,//241
MOCAPNET_2DPOINT_FINGER4_2_RX,//242
MOCAPNET_2DPOINT_FINGER4_2_RY,//243
MOCAPNET_2DPOINT_FINGER4_3_RX,//244
MOCAPNET_2DPOINT_FINGER4_3_RY,//245
MOCAPNET_2DPOINT_ENDSITE_FINGER4_3_RX,//246
MOCAPNET_2DPOINT_ENDSITE_FINGER4_3_RY,//247
MOCAPNET_2DPOINT___METACARPAL4_RX,//248
MOCAPNET_2DPOINT___METACARPAL4_RY,//249
MOCAPNET_2DPOINT_METACARPAL4_RX,//250
MOCAPNET_2DPOINT_METACARPAL4_RY,//251
MOCAPNET_2DPOINT_FINGER5_1_RX,//252
MOCAPNET_2DPOINT_FINGER5_1_RY,//253
MOCAPNET_2DPOINT_FINGER5_2_RX,//254
MOCAPNET_2DPOINT_FINGER5_2_RY,//255
MOCAPNET_2DPOINT_FINGER5_3_RX,//256
MOCAPNET_2DPOINT_FINGER5_3_RY,//257
MOCAPNET_2DPOINT_ENDSITE_FINGER5_3_RX,//258
MOCAPNET_2DPOINT_ENDSITE_FINGER5_3_RY,//259
MOCAPNET_2DPOINT___RTHUMBX,//260
MOCAPNET_2DPOINT___RTHUMBY,//261
MOCAPNET_2DPOINT_RTHUMBX,//262
MOCAPNET_2DPOINT_RTHUMBY,//263
MOCAPNET_2DPOINT_FINGER1_2_RX,//264
MOCAPNET_2DPOINT_FINGER1_2_RY,//265
MOCAPNET_2DPOINT_FINGER1_3_RX,//266
MOCAPNET_2DPOINT_FINGER1_3_RY,//267
MOCAPNET_2DPOINT_ENDSITE_FINGER1_3_RX,//268
MOCAPNET_2DPOINT_ENDSITE_FINGER1_3_RY,//269
MOCAPNET_2DPOINT_LCOLLARX,//270
MOCAPNET_2DPOINT_LCOLLARY,//271
MOCAPNET_2DPOINT_LSHOULDERX,//272
MOCAPNET_2DPOINT_LSHOULDERY,//273
MOCAPNET_2DPOINT_LELBOWX,//274
MOCAPNET_2DPOINT_LELBOWY,//275
MOCAPNET_2DPOINT_LHANDX,//276
MOCAPNET_2DPOINT_LHANDY,//277
MOCAPNET_2DPOINT_METACARPAL1_LX,//278
MOCAPNET_2DPOINT_METACARPAL1_LY,//279
MOCAPNET_2DPOINT_FINGER2_1_LX,//280
MOCAPNET_2DPOINT_FINGER2_1_LY,//281
MOCAPNET_2DPOINT_FINGER2_2_LX,//282
MOCAPNET_2DPOINT_FINGER2_2_LY,//283
MOCAPNET_2DPOINT_FINGER2_3_LX,//284
MOCAPNET_2DPOINT_FINGER2_3_LY,//285
MOCAPNET_2DPOINT_ENDSITE_FINGER2_3_LX,//286
MOCAPNET_2DPOINT_ENDSITE_FINGER2_3_LY,//287
MOCAPNET_2DPOINT_METACARPAL2_LX,//288
MOCAPNET_2DPOINT_METACARPAL2_LY,//289
MOCAPNET_2DPOINT_FINGER3_1_LX,//290
MOCAPNET_2DPOINT_FINGER3_1_LY,//291
MOCAPNET_2DPOINT_FINGER3_2_LX,//292
MOCAPNET_2DPOINT_FINGER3_2_LY,//293
MOCAPNET_2DPOINT_FINGER3_3_LX,//294
MOCAPNET_2DPOINT_FINGER3_3_LY,//295
MOCAPNET_2DPOINT_ENDSITE_FINGER3_3_LX,//296
MOCAPNET_2DPOINT_ENDSITE_FINGER3_3_LY,//297
MOCAPNET_2DPOINT___METACARPAL3_LX,//298
MOCAPNET_2DPOINT___METACARPAL3_LY,//299
MOCAPNET_2DPOINT_METACARPAL3_LX,//300
MOCAPNET_2DPOINT_METACARPAL3_LY,//301
MOCAPNET_2DPOINT_FINGER4_1_LX,//302
MOCAPNET_2DPOINT_FINGER4_1_LY,//303
MOCAPNET_2DPOINT_FINGER4_2_LX,//304
MOCAPNET_2DPOINT_FINGER4_2_LY,//305
MOCAPNET_2DPOINT_FINGER4_3_LX,//306
MOCAPNET_2DPOINT_FINGER4_3_LY,//307
MOCAPNET_2DPOINT_ENDSITE_FINGER4_3_LX,//308
MOCAPNET_2DPOINT_ENDSITE_FINGER4_3_LY,//309
MOCAPNET_2DPOINT___METACARPAL4_LX,//310
MOCAPNET_2DPOINT___METACARPAL4_LY,//311
MOCAPNET_2DPOINT_METACARPAL4_LX,//312
MOCAPNET_2DPOINT_METACARPAL4_LY,//313
MOCAPNET_2DPOINT_FINGER5_1_LX,//314
MOCAPNET_2DPOINT_FINGER5_1_LY,//315
MOCAPNET_2DPOINT_FINGER5_2_LX,//316
MOCAPNET_2DPOINT_FINGER5_2_LY,//317
MOCAPNET_2DPOINT_FINGER5_3_LX,//318
MOCAPNET_2DPOINT_FINGER5_3_LY,//319
MOCAPNET_2DPOINT_ENDSITE_FINGER5_3_LX,//320
MOCAPNET_2DPOINT_ENDSITE_FINGER5_3_LY,//321
MOCAPNET_2DPOINT___LTHUMBX,//322
MOCAPNET_2DPOINT___LTHUMBY,//323
MOCAPNET_2DPOINT_LTHUMBX,//324
MOCAPNET_2DPOINT_LTHUMBY,//325
MOCAPNET_2DPOINT_FINGER1_2_LX,//326
MOCAPNET_2DPOINT_FINGER1_2_LY,//327
MOCAPNET_2DPOINT_FINGER1_3_LX,//328
MOCAPNET_2DPOINT_FINGER1_3_LY,//329
MOCAPNET_2DPOINT_ENDSITE_FINGER1_3_LX,//330
MOCAPNET_2DPOINT_ENDSITE_FINGER1_3_LY,//331
MOCAPNET_2DPOINT_RBUTTOCKX,//332
MOCAPNET_2DPOINT_RBUTTOCKY,//333
MOCAPNET_2DPOINT_RHIPX,//334
MOCAPNET_2DPOINT_RHIPY,//335
MOCAPNET_2DPOINT_RKNEEX,//336
MOCAPNET_2DPOINT_RKNEEY,//337
MOCAPNET_2DPOINT_RFOOTX,//338
MOCAPNET_2DPOINT_RFOOTY,//339
MOCAPNET_2DPOINT_TOE1_1_RX,//340
MOCAPNET_2DPOINT_TOE1_1_RY,//341
MOCAPNET_2DPOINT_TOE1_2_RX,//342
MOCAPNET_2DPOINT_TOE1_2_RY,//343
MOCAPNET_2DPOINT_ENDSITE_TOE1_2_RX,//344
MOCAPNET_2DPOINT_ENDSITE_TOE1_2_RY,//345
MOCAPNET_2DPOINT_TOE2_1_RX,//346
MOCAPNET_2DPOINT_TOE2_1_RY,//347
MOCAPNET_2DPOINT_TOE2_2_RX,//348
MOCAPNET_2DPOINT_TOE2_2_RY,//349
MOCAPNET_2DPOINT_TOE2_3_RX,//350
MOCAPNET_2DPOINT_TOE2_3_RY,//351
MOCAPNET_2DPOINT_ENDSITE_TOE2_3_RX,//352
MOCAPNET_2DPOINT_ENDSITE_TOE2_3_RY,//353
MOCAPNET_2DPOINT_TOE3_1_RX,//354
MOCAPNET_2DPOINT_TOE3_1_RY,//355
MOCAPNET_2DPOINT_TOE3_2_RX,//356
MOCAPNET_2DPOINT_TOE3_2_RY,//357
MOCAPNET_2DPOINT_TOE3_3_RX,//358
MOCAPNET_2DPOINT_TOE3_3_RY,//359
MOCAPNET_2DPOINT_ENDSITE_TOE3_3_RX,//360
MOCAPNET_2DPOINT_ENDSITE_TOE3_3_RY,//361
MOCAPNET_2DPOINT_TOE4_1_RX,//362
MOCAPNET_2DPOINT_TOE4_1_RY,//363
MOCAPNET_2DPOINT_TOE4_2_RX,//364
MOCAPNET_2DPOINT_TOE4_2_RY,//365
MOCAPNET_2DPOINT_TOE4_3_RX,//366
MOCAPNET_2DPOINT_TOE4_3_RY,//367
MOCAPNET_2DPOINT_ENDSITE_TOE4_3_RX,//368
MOCAPNET_2DPOINT_ENDSITE_TOE4_3_RY,//369
MOCAPNET_2DPOINT_TOE5_1_RX,//370
MOCAPNET_2DPOINT_TOE5_1_RY,//371
MOCAPNET_2DPOINT_TOE5_2_RX,//372
MOCAPNET_2DPOINT_TOE5_2_RY,//373
MOCAPNET_2DPOINT_TOE5_3_RX,//374
MOCAPNET_2DPOINT_TOE5_3_RY,//375
MOCAPNET_2DPOINT_ENDSITE_TOE5_3_RX,//376
MOCAPNET_2DPOINT_ENDSITE_TOE5_3_RY,//377
MOCAPNET_2DPOINT_LBUTTOCKX,//378
MOCAPNET_2DPOINT_LBUTTOCKY,//379
MOCAPNET_2DPOINT_LHIPX,//380
MOCAPNET_2DPOINT_LHIPY,//381
MOCAPNET_2DPOINT_LKNEEX,//382
MOCAPNET_2DPOINT_LKNEEY,//383
MOCAPNET_2DPOINT_LFOOTX,//384
MOCAPNET_2DPOINT_LFOOTY,//385
MOCAPNET_2DPOINT_TOE1_1_LX,//386
MOCAPNET_2DPOINT_TOE1_1_LY,//387
MOCAPNET_2DPOINT_TOE1_2_LX,//388
MOCAPNET_2DPOINT_TOE1_2_LY,//389
MOCAPNET_2DPOINT_ENDSITE_TOE1_2_LX,//390
MOCAPNET_2DPOINT_ENDSITE_TOE1_2_LY,//391
MOCAPNET_2DPOINT_TOE2_1_LX,//392
MOCAPNET_2DPOINT_TOE2_1_LY,//393
MOCAPNET_2DPOINT_TOE2_2_LX,//394
MOCAPNET_2DPOINT_TOE2_2_LY,//395
MOCAPNET_2DPOINT_TOE2_3_LX,//396
MOCAPNET_2DPOINT_TOE2_3_LY,//397
MOCAPNET_2DPOINT_ENDSITE_TOE2_3_LX,//398
MOCAPNET_2DPOINT_ENDSITE_TOE2_3_LY,//399
MOCAPNET_2DPOINT_TOE3_1_LX,//400
MOCAPNET_2DPOINT_TOE3_1_LY,//401
MOCAPNET_2DPOINT_TOE3_2_LX,//402
MOCAPNET_2DPOINT_TOE3_2_LY,//403
MOCAPNET_2DPOINT_TOE3_3_LX,//404
MOCAPNET_2DPOINT_TOE3_3_LY,//405
MOCAPNET_2DPOINT_ENDSITE_TOE3_3_LX,//406
MOCAPNET_2DPOINT_ENDSITE_TOE3_3_LY,//407
MOCAPNET_2DPOINT_TOE4_1_LX,//408
MOCAPNET_2DPOINT_TOE4_1_LY,//409
MOCAPNET_2DPOINT_TOE4_2_LX,//410
MOCAPNET_2DPOINT_TOE4_2_LY,//411
MOCAPNET_2DPOINT_TOE4_3_LX,//412
MOCAPNET_2DPOINT_TOE4_3_LY,//413
MOCAPNET_2DPOINT_ENDSITE_TOE4_3_LX,//414
MOCAPNET_2DPOINT_ENDSITE_TOE4_3_LY,//415
MOCAPNET_2DPOINT_TOE5_1_LX,//416
MOCAPNET_2DPOINT_TOE5_1_LY,//417
MOCAPNET_2DPOINT_TOE5_2_LX,//418
MOCAPNET_2DPOINT_TOE5_2_LY,//419
MOCAPNET_2DPOINT_TOE5_3_LX,//420
MOCAPNET_2DPOINT_TOE5_3_LY,//421
MOCAPNET_2DPOINT_ENDSITE_TOE5_3_LX,//422
MOCAPNET_2DPOINT_ENDSITE_TOE5_3_LY//423
};




/**
 * @brief This is a programmer friendly enumerator to access 3D output  extracted from the BVH file_
 *  Use _/GroundTruthDumper __from dataset/headerWithHeadAndOneMotion_bvh __printc  to extract this automatically
 */
enum MOCAPNET_JointHierarchy_Joints
{
MOCAPNET_JOINT_HIP,//0
MOCAPNET_JOINT_ABDOMEN,//1
MOCAPNET_JOINT_CHEST,//2
MOCAPNET_JOINT_NECK,//3
MOCAPNET_JOINT_NECK1,//4
MOCAPNET_JOINT_HEAD,//5
MOCAPNET_JOINT___JAW,//6
MOCAPNET_JOINT_JAW,//7
MOCAPNET_JOINT_SPECIAL04,//8
MOCAPNET_JOINT_ORIS02,//9
MOCAPNET_JOINT_ORIS01,//10
MOCAPNET_JOINT_ENDSITE_ORIS01,//11
MOCAPNET_JOINT_ORIS06_L,//12
MOCAPNET_JOINT_ORIS07_L,//13
MOCAPNET_JOINT_ENDSITE_ORIS07_L,//14
MOCAPNET_JOINT_ORIS06_R,//15
MOCAPNET_JOINT_ORIS07_R,//16
MOCAPNET_JOINT_ENDSITE_ORIS07_R,//17
MOCAPNET_JOINT_TONGUE00,//18
MOCAPNET_JOINT_TONGUE01,//19
MOCAPNET_JOINT_TONGUE02,//20
MOCAPNET_JOINT_TONGUE03,//21
MOCAPNET_JOINT___TONGUE04,//22
MOCAPNET_JOINT_TONGUE04,//23
MOCAPNET_JOINT_ENDSITE_TONGUE04,//24
MOCAPNET_JOINT_TONGUE07_L,//25
MOCAPNET_JOINT_ENDSITE_TONGUE07_L,//26
MOCAPNET_JOINT_TONGUE07_R,//27
MOCAPNET_JOINT_ENDSITE_TONGUE07_R,//28
MOCAPNET_JOINT_TONGUE06_L,//29
MOCAPNET_JOINT_ENDSITE_TONGUE06_L,//30
MOCAPNET_JOINT_TONGUE06_R,//31
MOCAPNET_JOINT_ENDSITE_TONGUE06_R,//32
MOCAPNET_JOINT_TONGUE05_L,//33
MOCAPNET_JOINT_ENDSITE_TONGUE05_L,//34
MOCAPNET_JOINT_TONGUE05_R,//35
MOCAPNET_JOINT_ENDSITE_TONGUE05_R,//36
MOCAPNET_JOINT___LEVATOR02_L,//37
MOCAPNET_JOINT_LEVATOR02_L,//38
MOCAPNET_JOINT_LEVATOR03_L,//39
MOCAPNET_JOINT_LEVATOR04_L,//40
MOCAPNET_JOINT_LEVATOR05_L,//41
MOCAPNET_JOINT_ENDSITE_LEVATOR05_L,//42
MOCAPNET_JOINT___LEVATOR02_R,//43
MOCAPNET_JOINT_LEVATOR02_R,//44
MOCAPNET_JOINT_LEVATOR03_R,//45
MOCAPNET_JOINT_LEVATOR04_R,//46
MOCAPNET_JOINT_LEVATOR05_R,//47
MOCAPNET_JOINT_ENDSITE_LEVATOR05_R,//48
MOCAPNET_JOINT___SPECIAL01,//49
MOCAPNET_JOINT_SPECIAL01,//50
MOCAPNET_JOINT_ORIS04_L,//51
MOCAPNET_JOINT_ORIS03_L,//52
MOCAPNET_JOINT_ENDSITE_ORIS03_L,//53
MOCAPNET_JOINT_ORIS04_R,//54
MOCAPNET_JOINT_ORIS03_R,//55
MOCAPNET_JOINT_ENDSITE_ORIS03_R,//56
MOCAPNET_JOINT_ORIS06,//57
MOCAPNET_JOINT_ORIS05,//58
MOCAPNET_JOINT_ENDSITE_ORIS05,//59
MOCAPNET_JOINT___SPECIAL03,//60
MOCAPNET_JOINT_SPECIAL03,//61
MOCAPNET_JOINT___LEVATOR06_L,//62
MOCAPNET_JOINT_LEVATOR06_L,//63
MOCAPNET_JOINT_ENDSITE_LEVATOR06_L,//64
MOCAPNET_JOINT___LEVATOR06_R,//65
MOCAPNET_JOINT_LEVATOR06_R,//66
MOCAPNET_JOINT_ENDSITE_LEVATOR06_R,//67
MOCAPNET_JOINT_SPECIAL06_L,//68
MOCAPNET_JOINT_SPECIAL05_L,//69
MOCAPNET_JOINT_EYE_L,//70
MOCAPNET_JOINT_ENDSITE_EYE_L,//71
MOCAPNET_JOINT_ORBICULARIS03_L,//72
MOCAPNET_JOINT_ENDSITE_ORBICULARIS03_L,//73
MOCAPNET_JOINT_ORBICULARIS04_L,//74
MOCAPNET_JOINT_ENDSITE_ORBICULARIS04_L,//75
MOCAPNET_JOINT_SPECIAL06_R,//76
MOCAPNET_JOINT_SPECIAL05_R,//77
MOCAPNET_JOINT_EYE_R,//78
MOCAPNET_JOINT_ENDSITE_EYE_R,//79
MOCAPNET_JOINT_ORBICULARIS03_R,//80
MOCAPNET_JOINT_ENDSITE_ORBICULARIS03_R,//81
MOCAPNET_JOINT_ORBICULARIS04_R,//82
MOCAPNET_JOINT_ENDSITE_ORBICULARIS04_R,//83
MOCAPNET_JOINT___TEMPORALIS01_L,//84
MOCAPNET_JOINT_TEMPORALIS01_L,//85
MOCAPNET_JOINT_OCULI02_L,//86
MOCAPNET_JOINT_OCULI01_L,//87
MOCAPNET_JOINT_ENDSITE_OCULI01_L,//88
MOCAPNET_JOINT___TEMPORALIS01_R,//89
MOCAPNET_JOINT_TEMPORALIS01_R,//90
MOCAPNET_JOINT_OCULI02_R,//91
MOCAPNET_JOINT_OCULI01_R,//92
MOCAPNET_JOINT_ENDSITE_OCULI01_R,//93
MOCAPNET_JOINT___TEMPORALIS02_L,//94
MOCAPNET_JOINT_TEMPORALIS02_L,//95
MOCAPNET_JOINT_RISORIUS02_L,//96
MOCAPNET_JOINT_RISORIUS03_L,//97
MOCAPNET_JOINT_ENDSITE_RISORIUS03_L,//98
MOCAPNET_JOINT___TEMPORALIS02_R,//99
MOCAPNET_JOINT_TEMPORALIS02_R,//100
MOCAPNET_JOINT_RISORIUS02_R,//101
MOCAPNET_JOINT_RISORIUS03_R,//102
MOCAPNET_JOINT_ENDSITE_RISORIUS03_R,//103
MOCAPNET_JOINT_RCOLLAR,//104
MOCAPNET_JOINT_RSHOULDER,//105
MOCAPNET_JOINT_RELBOW,//106
MOCAPNET_JOINT_RHAND,//107
MOCAPNET_JOINT_METACARPAL1_R,//108
MOCAPNET_JOINT_FINGER2_1_R,//109
MOCAPNET_JOINT_FINGER2_2_R,//110
MOCAPNET_JOINT_FINGER2_3_R,//111
MOCAPNET_JOINT_ENDSITE_FINGER2_3_R,//112
MOCAPNET_JOINT_METACARPAL2_R,//113
MOCAPNET_JOINT_FINGER3_1_R,//114
MOCAPNET_JOINT_FINGER3_2_R,//115
MOCAPNET_JOINT_FINGER3_3_R,//116
MOCAPNET_JOINT_ENDSITE_FINGER3_3_R,//117
MOCAPNET_JOINT___METACARPAL3_R,//118
MOCAPNET_JOINT_METACARPAL3_R,//119
MOCAPNET_JOINT_FINGER4_1_R,//120
MOCAPNET_JOINT_FINGER4_2_R,//121
MOCAPNET_JOINT_FINGER4_3_R,//122
MOCAPNET_JOINT_ENDSITE_FINGER4_3_R,//123
MOCAPNET_JOINT___METACARPAL4_R,//124
MOCAPNET_JOINT_METACARPAL4_R,//125
MOCAPNET_JOINT_FINGER5_1_R,//126
MOCAPNET_JOINT_FINGER5_2_R,//127
MOCAPNET_JOINT_FINGER5_3_R,//128
MOCAPNET_JOINT_ENDSITE_FINGER5_3_R,//129
MOCAPNET_JOINT___RTHUMB,//130
MOCAPNET_JOINT_RTHUMB,//131
MOCAPNET_JOINT_FINGER1_2_R,//132
MOCAPNET_JOINT_FINGER1_3_R,//133
MOCAPNET_JOINT_ENDSITE_FINGER1_3_R,//134
MOCAPNET_JOINT_LCOLLAR,//135
MOCAPNET_JOINT_LSHOULDER,//136
MOCAPNET_JOINT_LELBOW,//137
MOCAPNET_JOINT_LHAND,//138
MOCAPNET_JOINT_METACARPAL1_L,//139
MOCAPNET_JOINT_FINGER2_1_L,//140
MOCAPNET_JOINT_FINGER2_2_L,//141
MOCAPNET_JOINT_FINGER2_3_L,//142
MOCAPNET_JOINT_ENDSITE_FINGER2_3_L,//143
MOCAPNET_JOINT_METACARPAL2_L,//144
MOCAPNET_JOINT_FINGER3_1_L,//145
MOCAPNET_JOINT_FINGER3_2_L,//146
MOCAPNET_JOINT_FINGER3_3_L,//147
MOCAPNET_JOINT_ENDSITE_FINGER3_3_L,//148
MOCAPNET_JOINT___METACARPAL3_L,//149
MOCAPNET_JOINT_METACARPAL3_L,//150
MOCAPNET_JOINT_FINGER4_1_L,//151
MOCAPNET_JOINT_FINGER4_2_L,//152
MOCAPNET_JOINT_FINGER4_3_L,//153
MOCAPNET_JOINT_ENDSITE_FINGER4_3_L,//154
MOCAPNET_JOINT___METACARPAL4_L,//155
MOCAPNET_JOINT_METACARPAL4_L,//156
MOCAPNET_JOINT_FINGER5_1_L,//157
MOCAPNET_JOINT_FINGER5_2_L,//158
MOCAPNET_JOINT_FINGER5_3_L,//159
MOCAPNET_JOINT_ENDSITE_FINGER5_3_L,//160
MOCAPNET_JOINT___LTHUMB,//161
MOCAPNET_JOINT_LTHUMB,//162
MOCAPNET_JOINT_FINGER1_2_L,//163
MOCAPNET_JOINT_FINGER1_3_L,//164
MOCAPNET_JOINT_ENDSITE_FINGER1_3_L,//165
MOCAPNET_JOINT_RBUTTOCK,//166
MOCAPNET_JOINT_RHIP,//167
MOCAPNET_JOINT_RKNEE,//168
MOCAPNET_JOINT_RFOOT,//169
MOCAPNET_JOINT_TOE1_1_R,//170
MOCAPNET_JOINT_TOE1_2_R,//171
MOCAPNET_JOINT_ENDSITE_TOE1_2_R,//172
MOCAPNET_JOINT_TOE2_1_R,//173
MOCAPNET_JOINT_TOE2_2_R,//174
MOCAPNET_JOINT_TOE2_3_R,//175
MOCAPNET_JOINT_ENDSITE_TOE2_3_R,//176
MOCAPNET_JOINT_TOE3_1_R,//177
MOCAPNET_JOINT_TOE3_2_R,//178
MOCAPNET_JOINT_TOE3_3_R,//179
MOCAPNET_JOINT_ENDSITE_TOE3_3_R,//180
MOCAPNET_JOINT_TOE4_1_R,//181
MOCAPNET_JOINT_TOE4_2_R,//182
MOCAPNET_JOINT_TOE4_3_R,//183
MOCAPNET_JOINT_ENDSITE_TOE4_3_R,//184
MOCAPNET_JOINT_TOE5_1_R,//185
MOCAPNET_JOINT_TOE5_2_R,//186
MOCAPNET_JOINT_TOE5_3_R,//187
MOCAPNET_JOINT_ENDSITE_TOE5_3_R,//188
MOCAPNET_JOINT_LBUTTOCK,//189
MOCAPNET_JOINT_LHIP,//190
MOCAPNET_JOINT_LKNEE,//191
MOCAPNET_JOINT_LFOOT,//192
MOCAPNET_JOINT_TOE1_1_L,//193
MOCAPNET_JOINT_TOE1_2_L,//194
MOCAPNET_JOINT_ENDSITE_TOE1_2_L,//195
MOCAPNET_JOINT_TOE2_1_L,//196
MOCAPNET_JOINT_TOE2_2_L,//197
MOCAPNET_JOINT_TOE2_3_L,//198
MOCAPNET_JOINT_ENDSITE_TOE2_3_L,//199
MOCAPNET_JOINT_TOE3_1_L,//200
MOCAPNET_JOINT_TOE3_2_L,//201
MOCAPNET_JOINT_TOE3_3_L,//202
MOCAPNET_JOINT_ENDSITE_TOE3_3_L,//203
MOCAPNET_JOINT_TOE4_1_L,//204
MOCAPNET_JOINT_TOE4_2_L,//205
MOCAPNET_JOINT_TOE4_3_L,//206
MOCAPNET_JOINT_ENDSITE_TOE4_3_L,//207
MOCAPNET_JOINT_TOE5_1_L,//208
MOCAPNET_JOINT_TOE5_2_L,//209
MOCAPNET_JOINT_TOE5_3_L,//210
MOCAPNET_JOINT_ENDSITE_TOE5_3_L//211
};




/**
 * @brief An array with string labels for what each element of an input should be after concatenating uncompressed and compressed input.
 * Use ./GroundTruthDumper --from dataset/headerWithHeadAndOneMotion.bvh --printc
 * to extract this automatically
 */
static const char * MocapNETOutputArrayNames[] =
{
"hip_Xposition", // 0
"hip_Yposition", // 1
"hip_Zposition", // 2
"hip_Zrotation", // 3
"hip_Yrotation", // 4
"hip_Xrotation", // 5
"abdomen_Zrotation", // 6
 "abdomen_Xrotation", // 7
 "abdomen_Yrotation", // 8
 "chest_Zrotation", // 9
 "chest_Xrotation", // 10
 "chest_Yrotation", // 11
 "neck_Zrotation", // 12
 "neck_Xrotation", // 13
 "neck_Yrotation", // 14
 "neck1_Zrotation", // 15
 "neck1_Xrotation", // 16
 "neck1_Yrotation", // 17
 "head_Zrotation", // 18
 "head_Xrotation", // 19
 "head_Yrotation", // 20
 "__jaw_Zrotation", // 21
 "__jaw_Xrotation", // 22
 "__jaw_Yrotation", // 23
 "jaw_Zrotation", // 24
 "jaw_Xrotation", // 25
 "jaw_Yrotation", // 26
 "special04_Zrotation", // 27
 "special04_Xrotation", // 28
 "special04_Yrotation", // 29
 "oris02_Zrotation", // 30
 "oris02_Xrotation", // 31
 "oris02_Yrotation", // 32
 "oris01_Zrotation", // 33
 "oris01_Xrotation", // 34
 "oris01_Yrotation", // 35
 "oris06.l_Zrotation", // 36
 "oris06.l_Xrotation", // 37
 "oris06.l_Yrotation", // 38
 "oris07.l_Zrotation", // 39
 "oris07.l_Xrotation", // 40
 "oris07.l_Yrotation", // 41
 "oris06.r_Zrotation", // 42
 "oris06.r_Xrotation", // 43
 "oris06.r_Yrotation", // 44
 "oris07.r_Zrotation", // 45
 "oris07.r_Xrotation", // 46
 "oris07.r_Yrotation", // 47
 "tongue00_Zrotation", // 48
 "tongue00_Xrotation", // 49
 "tongue00_Yrotation", // 50
 "tongue01_Zrotation", // 51
 "tongue01_Xrotation", // 52
 "tongue01_Yrotation", // 53
 "tongue02_Zrotation", // 54
 "tongue02_Xrotation", // 55
 "tongue02_Yrotation", // 56
 "tongue03_Zrotation", // 57
 "tongue03_Xrotation", // 58
 "tongue03_Yrotation", // 59
 "__tongue04_Zrotation", // 60
 "__tongue04_Xrotation", // 61
 "__tongue04_Yrotation", // 62
 "tongue04_Zrotation", // 63
 "tongue04_Xrotation", // 64
 "tongue04_Yrotation", // 65
 "tongue07.l_Zrotation", // 66
 "tongue07.l_Xrotation", // 67
 "tongue07.l_Yrotation", // 68
 "tongue07.r_Zrotation", // 69
 "tongue07.r_Xrotation", // 70
 "tongue07.r_Yrotation", // 71
 "tongue06.l_Zrotation", // 72
 "tongue06.l_Xrotation", // 73
 "tongue06.l_Yrotation", // 74
 "tongue06.r_Zrotation", // 75
 "tongue06.r_Xrotation", // 76
 "tongue06.r_Yrotation", // 77
 "tongue05.l_Zrotation", // 78
 "tongue05.l_Xrotation", // 79
 "tongue05.l_Yrotation", // 80
 "tongue05.r_Zrotation", // 81
 "tongue05.r_Xrotation", // 82
 "tongue05.r_Yrotation", // 83
 "__levator02.l_Zrotation", // 84
 "__levator02.l_Xrotation", // 85
 "__levator02.l_Yrotation", // 86
 "levator02.l_Zrotation", // 87
 "levator02.l_Xrotation", // 88
 "levator02.l_Yrotation", // 89
 "levator03.l_Zrotation", // 90
 "levator03.l_Xrotation", // 91
 "levator03.l_Yrotation", // 92
 "levator04.l_Zrotation", // 93
 "levator04.l_Xrotation", // 94
 "levator04.l_Yrotation", // 95
 "levator05.l_Zrotation", // 96
 "levator05.l_Xrotation", // 97
 "levator05.l_Yrotation", // 98
 "__levator02.r_Zrotation", // 99
 "__levator02.r_Xrotation", // 100
 "__levator02.r_Yrotation", // 101
 "levator02.r_Zrotation", // 102
 "levator02.r_Xrotation", // 103
 "levator02.r_Yrotation", // 104
 "levator03.r_Zrotation", // 105
 "levator03.r_Xrotation", // 106
 "levator03.r_Yrotation", // 107
 "levator04.r_Zrotation", // 108
 "levator04.r_Xrotation", // 109
 "levator04.r_Yrotation", // 110
 "levator05.r_Zrotation", // 111
 "levator05.r_Xrotation", // 112
 "levator05.r_Yrotation", // 113
 "__special01_Zrotation", // 114
 "__special01_Xrotation", // 115
 "__special01_Yrotation", // 116
 "special01_Zrotation", // 117
 "special01_Xrotation", // 118
 "special01_Yrotation", // 119
 "oris04.l_Zrotation", // 120
 "oris04.l_Xrotation", // 121
 "oris04.l_Yrotation", // 122
 "oris03.l_Zrotation", // 123
 "oris03.l_Xrotation", // 124
 "oris03.l_Yrotation", // 125
 "oris04.r_Zrotation", // 126
 "oris04.r_Xrotation", // 127
 "oris04.r_Yrotation", // 128
 "oris03.r_Zrotation", // 129
 "oris03.r_Xrotation", // 130
 "oris03.r_Yrotation", // 131
 "oris06_Zrotation", // 132
 "oris06_Xrotation", // 133
 "oris06_Yrotation", // 134
 "oris05_Zrotation", // 135
 "oris05_Xrotation", // 136
 "oris05_Yrotation", // 137
 "__special03_Zrotation", // 138
 "__special03_Xrotation", // 139
 "__special03_Yrotation", // 140
 "special03_Zrotation", // 141
 "special03_Xrotation", // 142
 "special03_Yrotation", // 143
 "__levator06.l_Zrotation", // 144
 "__levator06.l_Xrotation", // 145
 "__levator06.l_Yrotation", // 146
 "levator06.l_Zrotation", // 147
 "levator06.l_Xrotation", // 148
 "levator06.l_Yrotation", // 149
 "__levator06.r_Zrotation", // 150
 "__levator06.r_Xrotation", // 151
 "__levator06.r_Yrotation", // 152
 "levator06.r_Zrotation", // 153
 "levator06.r_Xrotation", // 154
 "levator06.r_Yrotation", // 155
 "special06.l_Zrotation", // 156
 "special06.l_Xrotation", // 157
 "special06.l_Yrotation", // 158
 "special05.l_Zrotation", // 159
 "special05.l_Xrotation", // 160
 "special05.l_Yrotation", // 161
 "eye.l_Zrotation", // 162
 "eye.l_Xrotation", // 163
 "eye.l_Yrotation", // 164
 "orbicularis03.l_Zrotation", // 165
 "orbicularis03.l_Xrotation", // 166
 "orbicularis03.l_Yrotation", // 167
 "orbicularis04.l_Zrotation", // 168
 "orbicularis04.l_Xrotation", // 169
 "orbicularis04.l_Yrotation", // 170
 "special06.r_Zrotation", // 171
 "special06.r_Xrotation", // 172
 "special06.r_Yrotation", // 173
 "special05.r_Zrotation", // 174
 "special05.r_Xrotation", // 175
 "special05.r_Yrotation", // 176
 "eye.r_Zrotation", // 177
 "eye.r_Xrotation", // 178
 "eye.r_Yrotation", // 179
 "orbicularis03.r_Zrotation", // 180
 "orbicularis03.r_Xrotation", // 181
 "orbicularis03.r_Yrotation", // 182
 "orbicularis04.r_Zrotation", // 183
 "orbicularis04.r_Xrotation", // 184
 "orbicularis04.r_Yrotation", // 185
 "__temporalis01.l_Zrotation", // 186
 "__temporalis01.l_Xrotation", // 187
 "__temporalis01.l_Yrotation", // 188
 "temporalis01.l_Zrotation", // 189
 "temporalis01.l_Xrotation", // 190
 "temporalis01.l_Yrotation", // 191
 "oculi02.l_Zrotation", // 192
 "oculi02.l_Xrotation", // 193
 "oculi02.l_Yrotation", // 194
 "oculi01.l_Zrotation", // 195
 "oculi01.l_Xrotation", // 196
 "oculi01.l_Yrotation", // 197
 "__temporalis01.r_Zrotation", // 198
 "__temporalis01.r_Xrotation", // 199
 "__temporalis01.r_Yrotation", // 200
 "temporalis01.r_Zrotation", // 201
 "temporalis01.r_Xrotation", // 202
 "temporalis01.r_Yrotation", // 203
 "oculi02.r_Zrotation", // 204
 "oculi02.r_Xrotation", // 205
 "oculi02.r_Yrotation", // 206
 "oculi01.r_Zrotation", // 207
 "oculi01.r_Xrotation", // 208
 "oculi01.r_Yrotation", // 209
 "__temporalis02.l_Zrotation", // 210
 "__temporalis02.l_Xrotation", // 211
 "__temporalis02.l_Yrotation", // 212
 "temporalis02.l_Zrotation", // 213
 "temporalis02.l_Xrotation", // 214
 "temporalis02.l_Yrotation", // 215
 "risorius02.l_Zrotation", // 216
 "risorius02.l_Xrotation", // 217
 "risorius02.l_Yrotation", // 218
 "risorius03.l_Zrotation", // 219
 "risorius03.l_Xrotation", // 220
 "risorius03.l_Yrotation", // 221
 "__temporalis02.r_Zrotation", // 222
 "__temporalis02.r_Xrotation", // 223
 "__temporalis02.r_Yrotation", // 224
 "temporalis02.r_Zrotation", // 225
 "temporalis02.r_Xrotation", // 226
 "temporalis02.r_Yrotation", // 227
 "risorius02.r_Zrotation", // 228
 "risorius02.r_Xrotation", // 229
 "risorius02.r_Yrotation", // 230
 "risorius03.r_Zrotation", // 231
 "risorius03.r_Xrotation", // 232
 "risorius03.r_Yrotation", // 233
 "rcollar_Zrotation", // 234
 "rcollar_Xrotation", // 235
 "rcollar_Yrotation", // 236
 "rshoulder_Zrotation", // 237
 "rshoulder_Xrotation", // 238
 "rshoulder_Yrotation", // 239
 "relbow_Zrotation", // 240
 "relbow_Xrotation", // 241
 "relbow_Yrotation", // 242
 "rhand_Zrotation", // 243
 "rhand_Xrotation", // 244
 "rhand_Yrotation", // 245
 "metacarpal1.r_Zrotation", // 246
 "metacarpal1.r_Xrotation", // 247
 "metacarpal1.r_Yrotation", // 248
 "finger2-1.r_Zrotation", // 249
 "finger2-1.r_Xrotation", // 250
 "finger2-1.r_Yrotation", // 251
 "finger2-2.r_Zrotation", // 252
 "finger2-2.r_Xrotation", // 253
 "finger2-2.r_Yrotation", // 254
 "finger2-3.r_Zrotation", // 255
 "finger2-3.r_Xrotation", // 256
 "finger2-3.r_Yrotation", // 257
 "metacarpal2.r_Zrotation", // 258
 "metacarpal2.r_Xrotation", // 259
 "metacarpal2.r_Yrotation", // 260
 "finger3-1.r_Zrotation", // 261
 "finger3-1.r_Xrotation", // 262
 "finger3-1.r_Yrotation", // 263
 "finger3-2.r_Zrotation", // 264
 "finger3-2.r_Xrotation", // 265
 "finger3-2.r_Yrotation", // 266
 "finger3-3.r_Zrotation", // 267
 "finger3-3.r_Xrotation", // 268
 "finger3-3.r_Yrotation", // 269
 "__metacarpal3.r_Zrotation", // 270
 "__metacarpal3.r_Xrotation", // 271
 "__metacarpal3.r_Yrotation", // 272
 "metacarpal3.r_Zrotation", // 273
 "metacarpal3.r_Xrotation", // 274
 "metacarpal3.r_Yrotation", // 275
 "finger4-1.r_Zrotation", // 276
 "finger4-1.r_Xrotation", // 277
 "finger4-1.r_Yrotation", // 278
 "finger4-2.r_Zrotation", // 279
 "finger4-2.r_Xrotation", // 280
 "finger4-2.r_Yrotation", // 281
 "finger4-3.r_Zrotation", // 282
 "finger4-3.r_Xrotation", // 283
 "finger4-3.r_Yrotation", // 284
 "__metacarpal4.r_Zrotation", // 285
 "__metacarpal4.r_Xrotation", // 286
 "__metacarpal4.r_Yrotation", // 287
 "metacarpal4.r_Zrotation", // 288
 "metacarpal4.r_Xrotation", // 289
 "metacarpal4.r_Yrotation", // 290
 "finger5-1.r_Zrotation", // 291
 "finger5-1.r_Xrotation", // 292
 "finger5-1.r_Yrotation", // 293
 "finger5-2.r_Zrotation", // 294
 "finger5-2.r_Xrotation", // 295
 "finger5-2.r_Yrotation", // 296
 "finger5-3.r_Zrotation", // 297
 "finger5-3.r_Xrotation", // 298
 "finger5-3.r_Yrotation", // 299
 "__rthumb_Zrotation", // 300
 "__rthumb_Xrotation", // 301
 "__rthumb_Yrotation", // 302
 "rthumb_Zrotation", // 303
 "rthumb_Xrotation", // 304
 "rthumb_Yrotation", // 305
 "finger1-2.r_Zrotation", // 306
 "finger1-2.r_Xrotation", // 307
 "finger1-2.r_Yrotation", // 308
 "finger1-3.r_Zrotation", // 309
 "finger1-3.r_Xrotation", // 310
 "finger1-3.r_Yrotation", // 311
 "lcollar_Zrotation", // 312
 "lcollar_Xrotation", // 313
 "lcollar_Yrotation", // 314
 "lshoulder_Zrotation", // 315
 "lshoulder_Xrotation", // 316
 "lshoulder_Yrotation", // 317
 "lelbow_Zrotation", // 318
 "lelbow_Xrotation", // 319
 "lelbow_Yrotation", // 320
 "lhand_Zrotation", // 321
 "lhand_Xrotation", // 322
 "lhand_Yrotation", // 323
 "metacarpal1.l_Zrotation", // 324
 "metacarpal1.l_Xrotation", // 325
 "metacarpal1.l_Yrotation", // 326
 "finger2-1.l_Zrotation", // 327
 "finger2-1.l_Xrotation", // 328
 "finger2-1.l_Yrotation", // 329
 "finger2-2.l_Zrotation", // 330
 "finger2-2.l_Xrotation", // 331
 "finger2-2.l_Yrotation", // 332
 "finger2-3.l_Zrotation", // 333
 "finger2-3.l_Xrotation", // 334
 "finger2-3.l_Yrotation", // 335
 "metacarpal2.l_Zrotation", // 336
 "metacarpal2.l_Xrotation", // 337
 "metacarpal2.l_Yrotation", // 338
 "finger3-1.l_Zrotation", // 339
 "finger3-1.l_Xrotation", // 340
 "finger3-1.l_Yrotation", // 341
 "finger3-2.l_Zrotation", // 342
 "finger3-2.l_Xrotation", // 343
 "finger3-2.l_Yrotation", // 344
 "finger3-3.l_Zrotation", // 345
 "finger3-3.l_Xrotation", // 346
 "finger3-3.l_Yrotation", // 347
 "__metacarpal3.l_Zrotation", // 348
 "__metacarpal3.l_Xrotation", // 349
 "__metacarpal3.l_Yrotation", // 350
 "metacarpal3.l_Zrotation", // 351
 "metacarpal3.l_Xrotation", // 352
 "metacarpal3.l_Yrotation", // 353
 "finger4-1.l_Zrotation", // 354
 "finger4-1.l_Xrotation", // 355
 "finger4-1.l_Yrotation", // 356
 "finger4-2.l_Zrotation", // 357
 "finger4-2.l_Xrotation", // 358
 "finger4-2.l_Yrotation", // 359
 "finger4-3.l_Zrotation", // 360
 "finger4-3.l_Xrotation", // 361
 "finger4-3.l_Yrotation", // 362
 "__metacarpal4.l_Zrotation", // 363
 "__metacarpal4.l_Xrotation", // 364
 "__metacarpal4.l_Yrotation", // 365
 "metacarpal4.l_Zrotation", // 366
 "metacarpal4.l_Xrotation", // 367
 "metacarpal4.l_Yrotation", // 368
 "finger5-1.l_Zrotation", // 369
 "finger5-1.l_Xrotation", // 370
 "finger5-1.l_Yrotation", // 371
 "finger5-2.l_Zrotation", // 372
 "finger5-2.l_Xrotation", // 373
 "finger5-2.l_Yrotation", // 374
 "finger5-3.l_Zrotation", // 375
 "finger5-3.l_Xrotation", // 376
 "finger5-3.l_Yrotation", // 377
 "__lthumb_Zrotation", // 378
 "__lthumb_Xrotation", // 379
 "__lthumb_Yrotation", // 380
 "lthumb_Zrotation", // 381
 "lthumb_Xrotation", // 382
 "lthumb_Yrotation", // 383
 "finger1-2.l_Zrotation", // 384
 "finger1-2.l_Xrotation", // 385
 "finger1-2.l_Yrotation", // 386
 "finger1-3.l_Zrotation", // 387
 "finger1-3.l_Xrotation", // 388
 "finger1-3.l_Yrotation", // 389
 "rbuttock_Zrotation", // 390
 "rbuttock_Xrotation", // 391
 "rbuttock_Yrotation", // 392
 "rhip_Zrotation", // 393
 "rhip_Xrotation", // 394
 "rhip_Yrotation", // 395
 "rknee_Zrotation", // 396
 "rknee_Xrotation", // 397
 "rknee_Yrotation", // 398
 "rfoot_Zrotation", // 399
 "rfoot_Xrotation", // 400
 "rfoot_Yrotation", // 401
 "toe1-1.r_Zrotation", // 402
 "toe1-1.r_Xrotation", // 403
 "toe1-1.r_Yrotation", // 404
 "toe1-2.r_Zrotation", // 405
 "toe1-2.r_Xrotation", // 406
 "toe1-2.r_Yrotation", // 407
 "toe2-1.r_Zrotation", // 408
 "toe2-1.r_Xrotation", // 409
 "toe2-1.r_Yrotation", // 410
 "toe2-2.r_Zrotation", // 411
 "toe2-2.r_Xrotation", // 412
 "toe2-2.r_Yrotation", // 413
 "toe2-3.r_Zrotation", // 414
 "toe2-3.r_Xrotation", // 415
 "toe2-3.r_Yrotation", // 416
 "toe3-1.r_Zrotation", // 417
 "toe3-1.r_Xrotation", // 418
 "toe3-1.r_Yrotation", // 419
 "toe3-2.r_Zrotation", // 420
 "toe3-2.r_Xrotation", // 421
 "toe3-2.r_Yrotation", // 422
 "toe3-3.r_Zrotation", // 423
 "toe3-3.r_Xrotation", // 424
 "toe3-3.r_Yrotation", // 425
 "toe4-1.r_Zrotation", // 426
 "toe4-1.r_Xrotation", // 427
 "toe4-1.r_Yrotation", // 428
 "toe4-2.r_Zrotation", // 429
 "toe4-2.r_Xrotation", // 430
 "toe4-2.r_Yrotation", // 431
 "toe4-3.r_Zrotation", // 432
 "toe4-3.r_Xrotation", // 433
 "toe4-3.r_Yrotation", // 434
 "toe5-1.r_Zrotation", // 435
 "toe5-1.r_Xrotation", // 436
 "toe5-1.r_Yrotation", // 437
 "toe5-2.r_Zrotation", // 438
 "toe5-2.r_Xrotation", // 439
 "toe5-2.r_Yrotation", // 440
 "toe5-3.r_Zrotation", // 441
 "toe5-3.r_Xrotation", // 442
 "toe5-3.r_Yrotation", // 443
 "lbuttock_Zrotation", // 444
 "lbuttock_Xrotation", // 445
 "lbuttock_Yrotation", // 446
 "lhip_Zrotation", // 447
 "lhip_Xrotation", // 448
 "lhip_Yrotation", // 449
 "lknee_Zrotation", // 450
 "lknee_Xrotation", // 451
 "lknee_Yrotation", // 452
 "lfoot_Zrotation", // 453
 "lfoot_Xrotation", // 454
 "lfoot_Yrotation", // 455
 "toe1-1.l_Zrotation", // 456
 "toe1-1.l_Xrotation", // 457
 "toe1-1.l_Yrotation", // 458
 "toe1-2.l_Zrotation", // 459
 "toe1-2.l_Xrotation", // 460
 "toe1-2.l_Yrotation", // 461
 "toe2-1.l_Zrotation", // 462
 "toe2-1.l_Xrotation", // 463
 "toe2-1.l_Yrotation", // 464
 "toe2-2.l_Zrotation", // 465
 "toe2-2.l_Xrotation", // 466
 "toe2-2.l_Yrotation", // 467
 "toe2-3.l_Zrotation", // 468
 "toe2-3.l_Xrotation", // 469
 "toe2-3.l_Yrotation", // 470
 "toe3-1.l_Zrotation", // 471
 "toe3-1.l_Xrotation", // 472
 "toe3-1.l_Yrotation", // 473
 "toe3-2.l_Zrotation", // 474
 "toe3-2.l_Xrotation", // 475
 "toe3-2.l_Yrotation", // 476
 "toe3-3.l_Zrotation", // 477
 "toe3-3.l_Xrotation", // 478
 "toe3-3.l_Yrotation", // 479
 "toe4-1.l_Zrotation", // 480
 "toe4-1.l_Xrotation", // 481
 "toe4-1.l_Yrotation", // 482
 "toe4-2.l_Zrotation", // 483
 "toe4-2.l_Xrotation", // 484
 "toe4-2.l_Yrotation", // 485
 "toe4-3.l_Zrotation", // 486
 "toe4-3.l_Xrotation", // 487
 "toe4-3.l_Yrotation", // 488
 "toe5-1.l_Zrotation", // 489
 "toe5-1.l_Xrotation", // 490
 "toe5-1.l_Yrotation", // 491
 "toe5-2.l_Zrotation", // 492
 "toe5-2.l_Xrotation", // 493
 "toe5-2.l_Yrotation", // 494
 "toe5-3.l_Zrotation", // 495
 "toe5-3.l_Xrotation", // 496
 "toe5-3.l_Yrotation"  // 497
};



/**
 * @brief This is a programmer friendly enumerator of joint output extracted from MocapNET.
 * Use ./GroundTruthDumper --from dataset/headerWithHeadAndOneMotion.bvh --printc
 * to extract this automatically
 */
enum MOCAPNET_Output_Joints
{
MOCAPNET_OUTPUT_HIP_XPOSITION = 0,
MOCAPNET_OUTPUT_HIP_YPOSITION,//1
MOCAPNET_OUTPUT_HIP_ZPOSITION,//2
MOCAPNET_OUTPUT_HIP_ZROTATION,//3
MOCAPNET_OUTPUT_HIP_YROTATION,//4
MOCAPNET_OUTPUT_HIP_XROTATION,//5
MOCAPNET_OUTPUT_ABDOMEN_ZROTATION,//6
MOCAPNET_OUTPUT_ABDOMEN_XROTATION,//7
MOCAPNET_OUTPUT_ABDOMEN_YROTATION,//8
MOCAPNET_OUTPUT_CHEST_ZROTATION,//9
MOCAPNET_OUTPUT_CHEST_XROTATION,//10
MOCAPNET_OUTPUT_CHEST_YROTATION,//11
MOCAPNET_OUTPUT_NECK_ZROTATION,//12
MOCAPNET_OUTPUT_NECK_XROTATION,//13
MOCAPNET_OUTPUT_NECK_YROTATION,//14
MOCAPNET_OUTPUT_NECK1_ZROTATION,//15
MOCAPNET_OUTPUT_NECK1_XROTATION,//16
MOCAPNET_OUTPUT_NECK1_YROTATION,//17
MOCAPNET_OUTPUT_HEAD_ZROTATION,//18
MOCAPNET_OUTPUT_HEAD_XROTATION,//19
MOCAPNET_OUTPUT_HEAD_YROTATION,//20
MOCAPNET_OUTPUT___JAW_ZROTATION,//21
MOCAPNET_OUTPUT___JAW_XROTATION,//22
MOCAPNET_OUTPUT___JAW_YROTATION,//23
MOCAPNET_OUTPUT_JAW_ZROTATION,//24
MOCAPNET_OUTPUT_JAW_XROTATION,//25
MOCAPNET_OUTPUT_JAW_YROTATION,//26
MOCAPNET_OUTPUT_SPECIAL04_ZROTATION,//27
MOCAPNET_OUTPUT_SPECIAL04_XROTATION,//28
MOCAPNET_OUTPUT_SPECIAL04_YROTATION,//29
MOCAPNET_OUTPUT_ORIS02_ZROTATION,//30
MOCAPNET_OUTPUT_ORIS02_XROTATION,//31
MOCAPNET_OUTPUT_ORIS02_YROTATION,//32
MOCAPNET_OUTPUT_ORIS01_ZROTATION,//33
MOCAPNET_OUTPUT_ORIS01_XROTATION,//34
MOCAPNET_OUTPUT_ORIS01_YROTATION,//35
MOCAPNET_OUTPUT_ORIS06_L_ZROTATION,//36
MOCAPNET_OUTPUT_ORIS06_L_XROTATION,//37
MOCAPNET_OUTPUT_ORIS06_L_YROTATION,//38
MOCAPNET_OUTPUT_ORIS07_L_ZROTATION,//39
MOCAPNET_OUTPUT_ORIS07_L_XROTATION,//40
MOCAPNET_OUTPUT_ORIS07_L_YROTATION,//41
MOCAPNET_OUTPUT_ORIS06_R_ZROTATION,//42
MOCAPNET_OUTPUT_ORIS06_R_XROTATION,//43
MOCAPNET_OUTPUT_ORIS06_R_YROTATION,//44
MOCAPNET_OUTPUT_ORIS07_R_ZROTATION,//45
MOCAPNET_OUTPUT_ORIS07_R_XROTATION,//46
MOCAPNET_OUTPUT_ORIS07_R_YROTATION,//47
MOCAPNET_OUTPUT_TONGUE00_ZROTATION,//48
MOCAPNET_OUTPUT_TONGUE00_XROTATION,//49
MOCAPNET_OUTPUT_TONGUE00_YROTATION,//50
MOCAPNET_OUTPUT_TONGUE01_ZROTATION,//51
MOCAPNET_OUTPUT_TONGUE01_XROTATION,//52
MOCAPNET_OUTPUT_TONGUE01_YROTATION,//53
MOCAPNET_OUTPUT_TONGUE02_ZROTATION,//54
MOCAPNET_OUTPUT_TONGUE02_XROTATION,//55
MOCAPNET_OUTPUT_TONGUE02_YROTATION,//56
MOCAPNET_OUTPUT_TONGUE03_ZROTATION,//57
MOCAPNET_OUTPUT_TONGUE03_XROTATION,//58
MOCAPNET_OUTPUT_TONGUE03_YROTATION,//59
MOCAPNET_OUTPUT___TONGUE04_ZROTATION,//60
MOCAPNET_OUTPUT___TONGUE04_XROTATION,//61
MOCAPNET_OUTPUT___TONGUE04_YROTATION,//62
MOCAPNET_OUTPUT_TONGUE04_ZROTATION,//63
MOCAPNET_OUTPUT_TONGUE04_XROTATION,//64
MOCAPNET_OUTPUT_TONGUE04_YROTATION,//65
MOCAPNET_OUTPUT_TONGUE07_L_ZROTATION,//66
MOCAPNET_OUTPUT_TONGUE07_L_XROTATION,//67
MOCAPNET_OUTPUT_TONGUE07_L_YROTATION,//68
MOCAPNET_OUTPUT_TONGUE07_R_ZROTATION,//69
MOCAPNET_OUTPUT_TONGUE07_R_XROTATION,//70
MOCAPNET_OUTPUT_TONGUE07_R_YROTATION,//71
MOCAPNET_OUTPUT_TONGUE06_L_ZROTATION,//72
MOCAPNET_OUTPUT_TONGUE06_L_XROTATION,//73
MOCAPNET_OUTPUT_TONGUE06_L_YROTATION,//74
MOCAPNET_OUTPUT_TONGUE06_R_ZROTATION,//75
MOCAPNET_OUTPUT_TONGUE06_R_XROTATION,//76
MOCAPNET_OUTPUT_TONGUE06_R_YROTATION,//77
MOCAPNET_OUTPUT_TONGUE05_L_ZROTATION,//78
MOCAPNET_OUTPUT_TONGUE05_L_XROTATION,//79
MOCAPNET_OUTPUT_TONGUE05_L_YROTATION,//80
MOCAPNET_OUTPUT_TONGUE05_R_ZROTATION,//81
MOCAPNET_OUTPUT_TONGUE05_R_XROTATION,//82
MOCAPNET_OUTPUT_TONGUE05_R_YROTATION,//83
MOCAPNET_OUTPUT___LEVATOR02_L_ZROTATION,//84
MOCAPNET_OUTPUT___LEVATOR02_L_XROTATION,//85
MOCAPNET_OUTPUT___LEVATOR02_L_YROTATION,//86
MOCAPNET_OUTPUT_LEVATOR02_L_ZROTATION,//87
MOCAPNET_OUTPUT_LEVATOR02_L_XROTATION,//88
MOCAPNET_OUTPUT_LEVATOR02_L_YROTATION,//89
MOCAPNET_OUTPUT_LEVATOR03_L_ZROTATION,//90
MOCAPNET_OUTPUT_LEVATOR03_L_XROTATION,//91
MOCAPNET_OUTPUT_LEVATOR03_L_YROTATION,//92
MOCAPNET_OUTPUT_LEVATOR04_L_ZROTATION,//93
MOCAPNET_OUTPUT_LEVATOR04_L_XROTATION,//94
MOCAPNET_OUTPUT_LEVATOR04_L_YROTATION,//95
MOCAPNET_OUTPUT_LEVATOR05_L_ZROTATION,//96
MOCAPNET_OUTPUT_LEVATOR05_L_XROTATION,//97
MOCAPNET_OUTPUT_LEVATOR05_L_YROTATION,//98
MOCAPNET_OUTPUT___LEVATOR02_R_ZROTATION,//99
MOCAPNET_OUTPUT___LEVATOR02_R_XROTATION,//100
MOCAPNET_OUTPUT___LEVATOR02_R_YROTATION,//101
MOCAPNET_OUTPUT_LEVATOR02_R_ZROTATION,//102
MOCAPNET_OUTPUT_LEVATOR02_R_XROTATION,//103
MOCAPNET_OUTPUT_LEVATOR02_R_YROTATION,//104
MOCAPNET_OUTPUT_LEVATOR03_R_ZROTATION,//105
MOCAPNET_OUTPUT_LEVATOR03_R_XROTATION,//106
MOCAPNET_OUTPUT_LEVATOR03_R_YROTATION,//107
MOCAPNET_OUTPUT_LEVATOR04_R_ZROTATION,//108
MOCAPNET_OUTPUT_LEVATOR04_R_XROTATION,//109
MOCAPNET_OUTPUT_LEVATOR04_R_YROTATION,//110
MOCAPNET_OUTPUT_LEVATOR05_R_ZROTATION,//111
MOCAPNET_OUTPUT_LEVATOR05_R_XROTATION,//112
MOCAPNET_OUTPUT_LEVATOR05_R_YROTATION,//113
MOCAPNET_OUTPUT___SPECIAL01_ZROTATION,//114
MOCAPNET_OUTPUT___SPECIAL01_XROTATION,//115
MOCAPNET_OUTPUT___SPECIAL01_YROTATION,//116
MOCAPNET_OUTPUT_SPECIAL01_ZROTATION,//117
MOCAPNET_OUTPUT_SPECIAL01_XROTATION,//118
MOCAPNET_OUTPUT_SPECIAL01_YROTATION,//119
MOCAPNET_OUTPUT_ORIS04_L_ZROTATION,//120
MOCAPNET_OUTPUT_ORIS04_L_XROTATION,//121
MOCAPNET_OUTPUT_ORIS04_L_YROTATION,//122
MOCAPNET_OUTPUT_ORIS03_L_ZROTATION,//123
MOCAPNET_OUTPUT_ORIS03_L_XROTATION,//124
MOCAPNET_OUTPUT_ORIS03_L_YROTATION,//125
MOCAPNET_OUTPUT_ORIS04_R_ZROTATION,//126
MOCAPNET_OUTPUT_ORIS04_R_XROTATION,//127
MOCAPNET_OUTPUT_ORIS04_R_YROTATION,//128
MOCAPNET_OUTPUT_ORIS03_R_ZROTATION,//129
MOCAPNET_OUTPUT_ORIS03_R_XROTATION,//130
MOCAPNET_OUTPUT_ORIS03_R_YROTATION,//131
MOCAPNET_OUTPUT_ORIS06_ZROTATION,//132
MOCAPNET_OUTPUT_ORIS06_XROTATION,//133
MOCAPNET_OUTPUT_ORIS06_YROTATION,//134
MOCAPNET_OUTPUT_ORIS05_ZROTATION,//135
MOCAPNET_OUTPUT_ORIS05_XROTATION,//136
MOCAPNET_OUTPUT_ORIS05_YROTATION,//137
MOCAPNET_OUTPUT___SPECIAL03_ZROTATION,//138
MOCAPNET_OUTPUT___SPECIAL03_XROTATION,//139
MOCAPNET_OUTPUT___SPECIAL03_YROTATION,//140
MOCAPNET_OUTPUT_SPECIAL03_ZROTATION,//141
MOCAPNET_OUTPUT_SPECIAL03_XROTATION,//142
MOCAPNET_OUTPUT_SPECIAL03_YROTATION,//143
MOCAPNET_OUTPUT___LEVATOR06_L_ZROTATION,//144
MOCAPNET_OUTPUT___LEVATOR06_L_XROTATION,//145
MOCAPNET_OUTPUT___LEVATOR06_L_YROTATION,//146
MOCAPNET_OUTPUT_LEVATOR06_L_ZROTATION,//147
MOCAPNET_OUTPUT_LEVATOR06_L_XROTATION,//148
MOCAPNET_OUTPUT_LEVATOR06_L_YROTATION,//149
MOCAPNET_OUTPUT___LEVATOR06_R_ZROTATION,//150
MOCAPNET_OUTPUT___LEVATOR06_R_XROTATION,//151
MOCAPNET_OUTPUT___LEVATOR06_R_YROTATION,//152
MOCAPNET_OUTPUT_LEVATOR06_R_ZROTATION,//153
MOCAPNET_OUTPUT_LEVATOR06_R_XROTATION,//154
MOCAPNET_OUTPUT_LEVATOR06_R_YROTATION,//155
MOCAPNET_OUTPUT_SPECIAL06_L_ZROTATION,//156
MOCAPNET_OUTPUT_SPECIAL06_L_XROTATION,//157
MOCAPNET_OUTPUT_SPECIAL06_L_YROTATION,//158
MOCAPNET_OUTPUT_SPECIAL05_L_ZROTATION,//159
MOCAPNET_OUTPUT_SPECIAL05_L_XROTATION,//160
MOCAPNET_OUTPUT_SPECIAL05_L_YROTATION,//161
MOCAPNET_OUTPUT_EYE_L_ZROTATION,//162
MOCAPNET_OUTPUT_EYE_L_XROTATION,//163
MOCAPNET_OUTPUT_EYE_L_YROTATION,//164
MOCAPNET_OUTPUT_ORBICULARIS03_L_ZROTATION,//165
MOCAPNET_OUTPUT_ORBICULARIS03_L_XROTATION,//166
MOCAPNET_OUTPUT_ORBICULARIS03_L_YROTATION,//167
MOCAPNET_OUTPUT_ORBICULARIS04_L_ZROTATION,//168
MOCAPNET_OUTPUT_ORBICULARIS04_L_XROTATION,//169
MOCAPNET_OUTPUT_ORBICULARIS04_L_YROTATION,//170
MOCAPNET_OUTPUT_SPECIAL06_R_ZROTATION,//171
MOCAPNET_OUTPUT_SPECIAL06_R_XROTATION,//172
MOCAPNET_OUTPUT_SPECIAL06_R_YROTATION,//173
MOCAPNET_OUTPUT_SPECIAL05_R_ZROTATION,//174
MOCAPNET_OUTPUT_SPECIAL05_R_XROTATION,//175
MOCAPNET_OUTPUT_SPECIAL05_R_YROTATION,//176
MOCAPNET_OUTPUT_EYE_R_ZROTATION,//177
MOCAPNET_OUTPUT_EYE_R_XROTATION,//178
MOCAPNET_OUTPUT_EYE_R_YROTATION,//179
MOCAPNET_OUTPUT_ORBICULARIS03_R_ZROTATION,//180
MOCAPNET_OUTPUT_ORBICULARIS03_R_XROTATION,//181
MOCAPNET_OUTPUT_ORBICULARIS03_R_YROTATION,//182
MOCAPNET_OUTPUT_ORBICULARIS04_R_ZROTATION,//183
MOCAPNET_OUTPUT_ORBICULARIS04_R_XROTATION,//184
MOCAPNET_OUTPUT_ORBICULARIS04_R_YROTATION,//185
MOCAPNET_OUTPUT___TEMPORALIS01_L_ZROTATION,//186
MOCAPNET_OUTPUT___TEMPORALIS01_L_XROTATION,//187
MOCAPNET_OUTPUT___TEMPORALIS01_L_YROTATION,//188
MOCAPNET_OUTPUT_TEMPORALIS01_L_ZROTATION,//189
MOCAPNET_OUTPUT_TEMPORALIS01_L_XROTATION,//190
MOCAPNET_OUTPUT_TEMPORALIS01_L_YROTATION,//191
MOCAPNET_OUTPUT_OCULI02_L_ZROTATION,//192
MOCAPNET_OUTPUT_OCULI02_L_XROTATION,//193
MOCAPNET_OUTPUT_OCULI02_L_YROTATION,//194
MOCAPNET_OUTPUT_OCULI01_L_ZROTATION,//195
MOCAPNET_OUTPUT_OCULI01_L_XROTATION,//196
MOCAPNET_OUTPUT_OCULI01_L_YROTATION,//197
MOCAPNET_OUTPUT___TEMPORALIS01_R_ZROTATION,//198
MOCAPNET_OUTPUT___TEMPORALIS01_R_XROTATION,//199
MOCAPNET_OUTPUT___TEMPORALIS01_R_YROTATION,//200
MOCAPNET_OUTPUT_TEMPORALIS01_R_ZROTATION,//201
MOCAPNET_OUTPUT_TEMPORALIS01_R_XROTATION,//202
MOCAPNET_OUTPUT_TEMPORALIS01_R_YROTATION,//203
MOCAPNET_OUTPUT_OCULI02_R_ZROTATION,//204
MOCAPNET_OUTPUT_OCULI02_R_XROTATION,//205
MOCAPNET_OUTPUT_OCULI02_R_YROTATION,//206
MOCAPNET_OUTPUT_OCULI01_R_ZROTATION,//207
MOCAPNET_OUTPUT_OCULI01_R_XROTATION,//208
MOCAPNET_OUTPUT_OCULI01_R_YROTATION,//209
MOCAPNET_OUTPUT___TEMPORALIS02_L_ZROTATION,//210
MOCAPNET_OUTPUT___TEMPORALIS02_L_XROTATION,//211
MOCAPNET_OUTPUT___TEMPORALIS02_L_YROTATION,//212
MOCAPNET_OUTPUT_TEMPORALIS02_L_ZROTATION,//213
MOCAPNET_OUTPUT_TEMPORALIS02_L_XROTATION,//214
MOCAPNET_OUTPUT_TEMPORALIS02_L_YROTATION,//215
MOCAPNET_OUTPUT_RISORIUS02_L_ZROTATION,//216
MOCAPNET_OUTPUT_RISORIUS02_L_XROTATION,//217
MOCAPNET_OUTPUT_RISORIUS02_L_YROTATION,//218
MOCAPNET_OUTPUT_RISORIUS03_L_ZROTATION,//219
MOCAPNET_OUTPUT_RISORIUS03_L_XROTATION,//220
MOCAPNET_OUTPUT_RISORIUS03_L_YROTATION,//221
MOCAPNET_OUTPUT___TEMPORALIS02_R_ZROTATION,//222
MOCAPNET_OUTPUT___TEMPORALIS02_R_XROTATION,//223
MOCAPNET_OUTPUT___TEMPORALIS02_R_YROTATION,//224
MOCAPNET_OUTPUT_TEMPORALIS02_R_ZROTATION,//225
MOCAPNET_OUTPUT_TEMPORALIS02_R_XROTATION,//226
MOCAPNET_OUTPUT_TEMPORALIS02_R_YROTATION,//227
MOCAPNET_OUTPUT_RISORIUS02_R_ZROTATION,//228
MOCAPNET_OUTPUT_RISORIUS02_R_XROTATION,//229
MOCAPNET_OUTPUT_RISORIUS02_R_YROTATION,//230
MOCAPNET_OUTPUT_RISORIUS03_R_ZROTATION,//231
MOCAPNET_OUTPUT_RISORIUS03_R_XROTATION,//232
MOCAPNET_OUTPUT_RISORIUS03_R_YROTATION,//233
MOCAPNET_OUTPUT_RCOLLAR_ZROTATION,//234
MOCAPNET_OUTPUT_RCOLLAR_XROTATION,//235
MOCAPNET_OUTPUT_RCOLLAR_YROTATION,//236
MOCAPNET_OUTPUT_RSHOULDER_ZROTATION,//237
MOCAPNET_OUTPUT_RSHOULDER_XROTATION,//238
MOCAPNET_OUTPUT_RSHOULDER_YROTATION,//239
MOCAPNET_OUTPUT_RELBOW_ZROTATION,//240
MOCAPNET_OUTPUT_RELBOW_XROTATION,//241
MOCAPNET_OUTPUT_RELBOW_YROTATION,//242
MOCAPNET_OUTPUT_RHAND_ZROTATION,//243
MOCAPNET_OUTPUT_RHAND_XROTATION,//244
MOCAPNET_OUTPUT_RHAND_YROTATION,//245
MOCAPNET_OUTPUT_METACARPAL1_R_ZROTATION,//246
MOCAPNET_OUTPUT_METACARPAL1_R_XROTATION,//247
MOCAPNET_OUTPUT_METACARPAL1_R_YROTATION,//248
MOCAPNET_OUTPUT_FINGER2_1_R_ZROTATION,//249
MOCAPNET_OUTPUT_FINGER2_1_R_XROTATION,//250
MOCAPNET_OUTPUT_FINGER2_1_R_YROTATION,//251
MOCAPNET_OUTPUT_FINGER2_2_R_ZROTATION,//252
MOCAPNET_OUTPUT_FINGER2_2_R_XROTATION,//253
MOCAPNET_OUTPUT_FINGER2_2_R_YROTATION,//254
MOCAPNET_OUTPUT_FINGER2_3_R_ZROTATION,//255
MOCAPNET_OUTPUT_FINGER2_3_R_XROTATION,//256
MOCAPNET_OUTPUT_FINGER2_3_R_YROTATION,//257
MOCAPNET_OUTPUT_METACARPAL2_R_ZROTATION,//258
MOCAPNET_OUTPUT_METACARPAL2_R_XROTATION,//259
MOCAPNET_OUTPUT_METACARPAL2_R_YROTATION,//260
MOCAPNET_OUTPUT_FINGER3_1_R_ZROTATION,//261
MOCAPNET_OUTPUT_FINGER3_1_R_XROTATION,//262
MOCAPNET_OUTPUT_FINGER3_1_R_YROTATION,//263
MOCAPNET_OUTPUT_FINGER3_2_R_ZROTATION,//264
MOCAPNET_OUTPUT_FINGER3_2_R_XROTATION,//265
MOCAPNET_OUTPUT_FINGER3_2_R_YROTATION,//266
MOCAPNET_OUTPUT_FINGER3_3_R_ZROTATION,//267
MOCAPNET_OUTPUT_FINGER3_3_R_XROTATION,//268
MOCAPNET_OUTPUT_FINGER3_3_R_YROTATION,//269
MOCAPNET_OUTPUT___METACARPAL3_R_ZROTATION,//270
MOCAPNET_OUTPUT___METACARPAL3_R_XROTATION,//271
MOCAPNET_OUTPUT___METACARPAL3_R_YROTATION,//272
MOCAPNET_OUTPUT_METACARPAL3_R_ZROTATION,//273
MOCAPNET_OUTPUT_METACARPAL3_R_XROTATION,//274
MOCAPNET_OUTPUT_METACARPAL3_R_YROTATION,//275
MOCAPNET_OUTPUT_FINGER4_1_R_ZROTATION,//276
MOCAPNET_OUTPUT_FINGER4_1_R_XROTATION,//277
MOCAPNET_OUTPUT_FINGER4_1_R_YROTATION,//278
MOCAPNET_OUTPUT_FINGER4_2_R_ZROTATION,//279
MOCAPNET_OUTPUT_FINGER4_2_R_XROTATION,//280
MOCAPNET_OUTPUT_FINGER4_2_R_YROTATION,//281
MOCAPNET_OUTPUT_FINGER4_3_R_ZROTATION,//282
MOCAPNET_OUTPUT_FINGER4_3_R_XROTATION,//283
MOCAPNET_OUTPUT_FINGER4_3_R_YROTATION,//284
MOCAPNET_OUTPUT___METACARPAL4_R_ZROTATION,//285
MOCAPNET_OUTPUT___METACARPAL4_R_XROTATION,//286
MOCAPNET_OUTPUT___METACARPAL4_R_YROTATION,//287
MOCAPNET_OUTPUT_METACARPAL4_R_ZROTATION,//288
MOCAPNET_OUTPUT_METACARPAL4_R_XROTATION,//289
MOCAPNET_OUTPUT_METACARPAL4_R_YROTATION,//290
MOCAPNET_OUTPUT_FINGER5_1_R_ZROTATION,//291
MOCAPNET_OUTPUT_FINGER5_1_R_XROTATION,//292
MOCAPNET_OUTPUT_FINGER5_1_R_YROTATION,//293
MOCAPNET_OUTPUT_FINGER5_2_R_ZROTATION,//294
MOCAPNET_OUTPUT_FINGER5_2_R_XROTATION,//295
MOCAPNET_OUTPUT_FINGER5_2_R_YROTATION,//296
MOCAPNET_OUTPUT_FINGER5_3_R_ZROTATION,//297
MOCAPNET_OUTPUT_FINGER5_3_R_XROTATION,//298
MOCAPNET_OUTPUT_FINGER5_3_R_YROTATION,//299
MOCAPNET_OUTPUT___RTHUMB_ZROTATION,//300
MOCAPNET_OUTPUT___RTHUMB_XROTATION,//301
MOCAPNET_OUTPUT___RTHUMB_YROTATION,//302
MOCAPNET_OUTPUT_RTHUMB_ZROTATION,//303
MOCAPNET_OUTPUT_RTHUMB_XROTATION,//304
MOCAPNET_OUTPUT_RTHUMB_YROTATION,//305
MOCAPNET_OUTPUT_FINGER1_2_R_ZROTATION,//306
MOCAPNET_OUTPUT_FINGER1_2_R_XROTATION,//307
MOCAPNET_OUTPUT_FINGER1_2_R_YROTATION,//308
MOCAPNET_OUTPUT_FINGER1_3_R_ZROTATION,//309
MOCAPNET_OUTPUT_FINGER1_3_R_XROTATION,//310
MOCAPNET_OUTPUT_FINGER1_3_R_YROTATION,//311
MOCAPNET_OUTPUT_LCOLLAR_ZROTATION,//312
MOCAPNET_OUTPUT_LCOLLAR_XROTATION,//313
MOCAPNET_OUTPUT_LCOLLAR_YROTATION,//314
MOCAPNET_OUTPUT_LSHOULDER_ZROTATION,//315
MOCAPNET_OUTPUT_LSHOULDER_XROTATION,//316
MOCAPNET_OUTPUT_LSHOULDER_YROTATION,//317
MOCAPNET_OUTPUT_LELBOW_ZROTATION,//318
MOCAPNET_OUTPUT_LELBOW_XROTATION,//319
MOCAPNET_OUTPUT_LELBOW_YROTATION,//320
MOCAPNET_OUTPUT_LHAND_ZROTATION,//321
MOCAPNET_OUTPUT_LHAND_XROTATION,//322
MOCAPNET_OUTPUT_LHAND_YROTATION,//323
MOCAPNET_OUTPUT_METACARPAL1_L_ZROTATION,//324
MOCAPNET_OUTPUT_METACARPAL1_L_XROTATION,//325
MOCAPNET_OUTPUT_METACARPAL1_L_YROTATION,//326
MOCAPNET_OUTPUT_FINGER2_1_L_ZROTATION,//327
MOCAPNET_OUTPUT_FINGER2_1_L_XROTATION,//328
MOCAPNET_OUTPUT_FINGER2_1_L_YROTATION,//329
MOCAPNET_OUTPUT_FINGER2_2_L_ZROTATION,//330
MOCAPNET_OUTPUT_FINGER2_2_L_XROTATION,//331
MOCAPNET_OUTPUT_FINGER2_2_L_YROTATION,//332
MOCAPNET_OUTPUT_FINGER2_3_L_ZROTATION,//333
MOCAPNET_OUTPUT_FINGER2_3_L_XROTATION,//334
MOCAPNET_OUTPUT_FINGER2_3_L_YROTATION,//335
MOCAPNET_OUTPUT_METACARPAL2_L_ZROTATION,//336
MOCAPNET_OUTPUT_METACARPAL2_L_XROTATION,//337
MOCAPNET_OUTPUT_METACARPAL2_L_YROTATION,//338
MOCAPNET_OUTPUT_FINGER3_1_L_ZROTATION,//339
MOCAPNET_OUTPUT_FINGER3_1_L_XROTATION,//340
MOCAPNET_OUTPUT_FINGER3_1_L_YROTATION,//341
MOCAPNET_OUTPUT_FINGER3_2_L_ZROTATION,//342
MOCAPNET_OUTPUT_FINGER3_2_L_XROTATION,//343
MOCAPNET_OUTPUT_FINGER3_2_L_YROTATION,//344
MOCAPNET_OUTPUT_FINGER3_3_L_ZROTATION,//345
MOCAPNET_OUTPUT_FINGER3_3_L_XROTATION,//346
MOCAPNET_OUTPUT_FINGER3_3_L_YROTATION,//347
MOCAPNET_OUTPUT___METACARPAL3_L_ZROTATION,//348
MOCAPNET_OUTPUT___METACARPAL3_L_XROTATION,//349
MOCAPNET_OUTPUT___METACARPAL3_L_YROTATION,//350
MOCAPNET_OUTPUT_METACARPAL3_L_ZROTATION,//351
MOCAPNET_OUTPUT_METACARPAL3_L_XROTATION,//352
MOCAPNET_OUTPUT_METACARPAL3_L_YROTATION,//353
MOCAPNET_OUTPUT_FINGER4_1_L_ZROTATION,//354
MOCAPNET_OUTPUT_FINGER4_1_L_XROTATION,//355
MOCAPNET_OUTPUT_FINGER4_1_L_YROTATION,//356
MOCAPNET_OUTPUT_FINGER4_2_L_ZROTATION,//357
MOCAPNET_OUTPUT_FINGER4_2_L_XROTATION,//358
MOCAPNET_OUTPUT_FINGER4_2_L_YROTATION,//359
MOCAPNET_OUTPUT_FINGER4_3_L_ZROTATION,//360
MOCAPNET_OUTPUT_FINGER4_3_L_XROTATION,//361
MOCAPNET_OUTPUT_FINGER4_3_L_YROTATION,//362
MOCAPNET_OUTPUT___METACARPAL4_L_ZROTATION,//363
MOCAPNET_OUTPUT___METACARPAL4_L_XROTATION,//364
MOCAPNET_OUTPUT___METACARPAL4_L_YROTATION,//365
MOCAPNET_OUTPUT_METACARPAL4_L_ZROTATION,//366
MOCAPNET_OUTPUT_METACARPAL4_L_XROTATION,//367
MOCAPNET_OUTPUT_METACARPAL4_L_YROTATION,//368
MOCAPNET_OUTPUT_FINGER5_1_L_ZROTATION,//369
MOCAPNET_OUTPUT_FINGER5_1_L_XROTATION,//370
MOCAPNET_OUTPUT_FINGER5_1_L_YROTATION,//371
MOCAPNET_OUTPUT_FINGER5_2_L_ZROTATION,//372
MOCAPNET_OUTPUT_FINGER5_2_L_XROTATION,//373
MOCAPNET_OUTPUT_FINGER5_2_L_YROTATION,//374
MOCAPNET_OUTPUT_FINGER5_3_L_ZROTATION,//375
MOCAPNET_OUTPUT_FINGER5_3_L_XROTATION,//376
MOCAPNET_OUTPUT_FINGER5_3_L_YROTATION,//377
MOCAPNET_OUTPUT___LTHUMB_ZROTATION,//378
MOCAPNET_OUTPUT___LTHUMB_XROTATION,//379
MOCAPNET_OUTPUT___LTHUMB_YROTATION,//380
MOCAPNET_OUTPUT_LTHUMB_ZROTATION,//381
MOCAPNET_OUTPUT_LTHUMB_XROTATION,//382
MOCAPNET_OUTPUT_LTHUMB_YROTATION,//383
MOCAPNET_OUTPUT_FINGER1_2_L_ZROTATION,//384
MOCAPNET_OUTPUT_FINGER1_2_L_XROTATION,//385
MOCAPNET_OUTPUT_FINGER1_2_L_YROTATION,//386
MOCAPNET_OUTPUT_FINGER1_3_L_ZROTATION,//387
MOCAPNET_OUTPUT_FINGER1_3_L_XROTATION,//388
MOCAPNET_OUTPUT_FINGER1_3_L_YROTATION,//389
MOCAPNET_OUTPUT_RBUTTOCK_ZROTATION,//390
MOCAPNET_OUTPUT_RBUTTOCK_XROTATION,//391
MOCAPNET_OUTPUT_RBUTTOCK_YROTATION,//392
MOCAPNET_OUTPUT_RHIP_ZROTATION,//393
MOCAPNET_OUTPUT_RHIP_XROTATION,//394
MOCAPNET_OUTPUT_RHIP_YROTATION,//395
MOCAPNET_OUTPUT_RKNEE_ZROTATION,//396
MOCAPNET_OUTPUT_RKNEE_XROTATION,//397
MOCAPNET_OUTPUT_RKNEE_YROTATION,//398
MOCAPNET_OUTPUT_RFOOT_ZROTATION,//399
MOCAPNET_OUTPUT_RFOOT_XROTATION,//400
MOCAPNET_OUTPUT_RFOOT_YROTATION,//401
MOCAPNET_OUTPUT_TOE1_1_R_ZROTATION,//402
MOCAPNET_OUTPUT_TOE1_1_R_XROTATION,//403
MOCAPNET_OUTPUT_TOE1_1_R_YROTATION,//404
MOCAPNET_OUTPUT_TOE1_2_R_ZROTATION,//405
MOCAPNET_OUTPUT_TOE1_2_R_XROTATION,//406
MOCAPNET_OUTPUT_TOE1_2_R_YROTATION,//407
MOCAPNET_OUTPUT_TOE2_1_R_ZROTATION,//408
MOCAPNET_OUTPUT_TOE2_1_R_XROTATION,//409
MOCAPNET_OUTPUT_TOE2_1_R_YROTATION,//410
MOCAPNET_OUTPUT_TOE2_2_R_ZROTATION,//411
MOCAPNET_OUTPUT_TOE2_2_R_XROTATION,//412
MOCAPNET_OUTPUT_TOE2_2_R_YROTATION,//413
MOCAPNET_OUTPUT_TOE2_3_R_ZROTATION,//414
MOCAPNET_OUTPUT_TOE2_3_R_XROTATION,//415
MOCAPNET_OUTPUT_TOE2_3_R_YROTATION,//416
MOCAPNET_OUTPUT_TOE3_1_R_ZROTATION,//417
MOCAPNET_OUTPUT_TOE3_1_R_XROTATION,//418
MOCAPNET_OUTPUT_TOE3_1_R_YROTATION,//419
MOCAPNET_OUTPUT_TOE3_2_R_ZROTATION,//420
MOCAPNET_OUTPUT_TOE3_2_R_XROTATION,//421
MOCAPNET_OUTPUT_TOE3_2_R_YROTATION,//422
MOCAPNET_OUTPUT_TOE3_3_R_ZROTATION,//423
MOCAPNET_OUTPUT_TOE3_3_R_XROTATION,//424
MOCAPNET_OUTPUT_TOE3_3_R_YROTATION,//425
MOCAPNET_OUTPUT_TOE4_1_R_ZROTATION,//426
MOCAPNET_OUTPUT_TOE4_1_R_XROTATION,//427
MOCAPNET_OUTPUT_TOE4_1_R_YROTATION,//428
MOCAPNET_OUTPUT_TOE4_2_R_ZROTATION,//429
MOCAPNET_OUTPUT_TOE4_2_R_XROTATION,//430
MOCAPNET_OUTPUT_TOE4_2_R_YROTATION,//431
MOCAPNET_OUTPUT_TOE4_3_R_ZROTATION,//432
MOCAPNET_OUTPUT_TOE4_3_R_XROTATION,//433
MOCAPNET_OUTPUT_TOE4_3_R_YROTATION,//434
MOCAPNET_OUTPUT_TOE5_1_R_ZROTATION,//435
MOCAPNET_OUTPUT_TOE5_1_R_XROTATION,//436
MOCAPNET_OUTPUT_TOE5_1_R_YROTATION,//437
MOCAPNET_OUTPUT_TOE5_2_R_ZROTATION,//438
MOCAPNET_OUTPUT_TOE5_2_R_XROTATION,//439
MOCAPNET_OUTPUT_TOE5_2_R_YROTATION,//440
MOCAPNET_OUTPUT_TOE5_3_R_ZROTATION,//441
MOCAPNET_OUTPUT_TOE5_3_R_XROTATION,//442
MOCAPNET_OUTPUT_TOE5_3_R_YROTATION,//443
MOCAPNET_OUTPUT_LBUTTOCK_ZROTATION,//444
MOCAPNET_OUTPUT_LBUTTOCK_XROTATION,//445
MOCAPNET_OUTPUT_LBUTTOCK_YROTATION,//446
MOCAPNET_OUTPUT_LHIP_ZROTATION,//447
MOCAPNET_OUTPUT_LHIP_XROTATION,//448
MOCAPNET_OUTPUT_LHIP_YROTATION,//449
MOCAPNET_OUTPUT_LKNEE_ZROTATION,//450
MOCAPNET_OUTPUT_LKNEE_XROTATION,//451
MOCAPNET_OUTPUT_LKNEE_YROTATION,//452
MOCAPNET_OUTPUT_LFOOT_ZROTATION,//453
MOCAPNET_OUTPUT_LFOOT_XROTATION,//454
MOCAPNET_OUTPUT_LFOOT_YROTATION,//455
MOCAPNET_OUTPUT_TOE1_1_L_ZROTATION,//456
MOCAPNET_OUTPUT_TOE1_1_L_XROTATION,//457
MOCAPNET_OUTPUT_TOE1_1_L_YROTATION,//458
MOCAPNET_OUTPUT_TOE1_2_L_ZROTATION,//459
MOCAPNET_OUTPUT_TOE1_2_L_XROTATION,//460
MOCAPNET_OUTPUT_TOE1_2_L_YROTATION,//461
MOCAPNET_OUTPUT_TOE2_1_L_ZROTATION,//462
MOCAPNET_OUTPUT_TOE2_1_L_XROTATION,//463
MOCAPNET_OUTPUT_TOE2_1_L_YROTATION,//464
MOCAPNET_OUTPUT_TOE2_2_L_ZROTATION,//465
MOCAPNET_OUTPUT_TOE2_2_L_XROTATION,//466
MOCAPNET_OUTPUT_TOE2_2_L_YROTATION,//467
MOCAPNET_OUTPUT_TOE2_3_L_ZROTATION,//468
MOCAPNET_OUTPUT_TOE2_3_L_XROTATION,//469
MOCAPNET_OUTPUT_TOE2_3_L_YROTATION,//470
MOCAPNET_OUTPUT_TOE3_1_L_ZROTATION,//471
MOCAPNET_OUTPUT_TOE3_1_L_XROTATION,//472
MOCAPNET_OUTPUT_TOE3_1_L_YROTATION,//473
MOCAPNET_OUTPUT_TOE3_2_L_ZROTATION,//474
MOCAPNET_OUTPUT_TOE3_2_L_XROTATION,//475
MOCAPNET_OUTPUT_TOE3_2_L_YROTATION,//476
MOCAPNET_OUTPUT_TOE3_3_L_ZROTATION,//477
MOCAPNET_OUTPUT_TOE3_3_L_XROTATION,//478
MOCAPNET_OUTPUT_TOE3_3_L_YROTATION,//479
MOCAPNET_OUTPUT_TOE4_1_L_ZROTATION,//480
MOCAPNET_OUTPUT_TOE4_1_L_XROTATION,//481
MOCAPNET_OUTPUT_TOE4_1_L_YROTATION,//482
MOCAPNET_OUTPUT_TOE4_2_L_ZROTATION,//483
MOCAPNET_OUTPUT_TOE4_2_L_XROTATION,//484
MOCAPNET_OUTPUT_TOE4_2_L_YROTATION,//485
MOCAPNET_OUTPUT_TOE4_3_L_ZROTATION,//486
MOCAPNET_OUTPUT_TOE4_3_L_XROTATION,//487
MOCAPNET_OUTPUT_TOE4_3_L_YROTATION,//488
MOCAPNET_OUTPUT_TOE5_1_L_ZROTATION,//489
MOCAPNET_OUTPUT_TOE5_1_L_XROTATION,//490
MOCAPNET_OUTPUT_TOE5_1_L_YROTATION,//491
MOCAPNET_OUTPUT_TOE5_2_L_ZROTATION,//492
MOCAPNET_OUTPUT_TOE5_2_L_XROTATION,//493
MOCAPNET_OUTPUT_TOE5_2_L_YROTATION,//494
MOCAPNET_OUTPUT_TOE5_3_L_ZROTATION,//495
MOCAPNET_OUTPUT_TOE5_3_L_XROTATION,//496
MOCAPNET_OUTPUT_TOE5_3_L_YROTATION,//497
//-----------------------------
MOCAPNET_OUTPUT_NUMBER
};









/**
 * @brief This is a programmer friendly enumerator to access 3D output  extracted from MocapNET
 * Use ./GroundTruthDumper --from dataset/headerWithHeadAndOneMotion.bvh --printc
 * to extract this automatically
 */
enum MNET_3D_Output_Joints
{
MOCAPNET_3DPOINT_HIPX,//0
MOCAPNET_3DPOINT_HIPY,//1
MOCAPNET_3DPOINT_HIPZ,//2
MOCAPNET_3DPOINT_ABDOMENX,//3
MOCAPNET_3DPOINT_ABDOMENY,//4
MOCAPNET_3DPOINT_ABDOMENZ,//5
MOCAPNET_3DPOINT_CHESTX,//6
MOCAPNET_3DPOINT_CHESTY,//7
MOCAPNET_3DPOINT_CHESTZ,//8
MOCAPNET_3DPOINT_NECKX,//9
MOCAPNET_3DPOINT_NECKY,//10
MOCAPNET_3DPOINT_NECKZ,//11
MOCAPNET_3DPOINT_NECK1X,//12
MOCAPNET_3DPOINT_NECK1Y,//13
MOCAPNET_3DPOINT_NECK1Z,//14
MOCAPNET_3DPOINT_HEADX,//15
MOCAPNET_3DPOINT_HEADY,//16
MOCAPNET_3DPOINT_HEADZ,//17
MOCAPNET_3DPOINT___JAWX,//18
MOCAPNET_3DPOINT___JAWY,//19
MOCAPNET_3DPOINT___JAWZ,//20
MOCAPNET_3DPOINT_JAWX,//21
MOCAPNET_3DPOINT_JAWY,//22
MOCAPNET_3DPOINT_JAWZ,//23
MOCAPNET_3DPOINT_SPECIAL04X,//24
MOCAPNET_3DPOINT_SPECIAL04Y,//25
MOCAPNET_3DPOINT_SPECIAL04Z,//26
MOCAPNET_3DPOINT_ORIS02X,//27
MOCAPNET_3DPOINT_ORIS02Y,//28
MOCAPNET_3DPOINT_ORIS02Z,//29
MOCAPNET_3DPOINT_ORIS01X,//30
MOCAPNET_3DPOINT_ORIS01Y,//31
MOCAPNET_3DPOINT_ORIS01Z,//32
MOCAPNET_3DPOINT_ENDSITE_ORIS01X,//33
MOCAPNET_3DPOINT_ENDSITE_ORIS01Y,//34
MOCAPNET_3DPOINT_ENDSITE_ORIS01Z,//35
MOCAPNET_3DPOINT_ORIS06_LX,//36
MOCAPNET_3DPOINT_ORIS06_LY,//37
MOCAPNET_3DPOINT_ORIS06_LZ,//38
MOCAPNET_3DPOINT_ORIS07_LX,//39
MOCAPNET_3DPOINT_ORIS07_LY,//40
MOCAPNET_3DPOINT_ORIS07_LZ,//41
MOCAPNET_3DPOINT_ENDSITE_ORIS07_LX,//42
MOCAPNET_3DPOINT_ENDSITE_ORIS07_LY,//43
MOCAPNET_3DPOINT_ENDSITE_ORIS07_LZ,//44
MOCAPNET_3DPOINT_ORIS06_RX,//45
MOCAPNET_3DPOINT_ORIS06_RY,//46
MOCAPNET_3DPOINT_ORIS06_RZ,//47
MOCAPNET_3DPOINT_ORIS07_RX,//48
MOCAPNET_3DPOINT_ORIS07_RY,//49
MOCAPNET_3DPOINT_ORIS07_RZ,//50
MOCAPNET_3DPOINT_ENDSITE_ORIS07_RX,//51
MOCAPNET_3DPOINT_ENDSITE_ORIS07_RY,//52
MOCAPNET_3DPOINT_ENDSITE_ORIS07_RZ,//53
MOCAPNET_3DPOINT_TONGUE00X,//54
MOCAPNET_3DPOINT_TONGUE00Y,//55
MOCAPNET_3DPOINT_TONGUE00Z,//56
MOCAPNET_3DPOINT_TONGUE01X,//57
MOCAPNET_3DPOINT_TONGUE01Y,//58
MOCAPNET_3DPOINT_TONGUE01Z,//59
MOCAPNET_3DPOINT_TONGUE02X,//60
MOCAPNET_3DPOINT_TONGUE02Y,//61
MOCAPNET_3DPOINT_TONGUE02Z,//62
MOCAPNET_3DPOINT_TONGUE03X,//63
MOCAPNET_3DPOINT_TONGUE03Y,//64
MOCAPNET_3DPOINT_TONGUE03Z,//65
MOCAPNET_3DPOINT___TONGUE04X,//66
MOCAPNET_3DPOINT___TONGUE04Y,//67
MOCAPNET_3DPOINT___TONGUE04Z,//68
MOCAPNET_3DPOINT_TONGUE04X,//69
MOCAPNET_3DPOINT_TONGUE04Y,//70
MOCAPNET_3DPOINT_TONGUE04Z,//71
MOCAPNET_3DPOINT_ENDSITE_TONGUE04X,//72
MOCAPNET_3DPOINT_ENDSITE_TONGUE04Y,//73
MOCAPNET_3DPOINT_ENDSITE_TONGUE04Z,//74
MOCAPNET_3DPOINT_TONGUE07_LX,//75
MOCAPNET_3DPOINT_TONGUE07_LY,//76
MOCAPNET_3DPOINT_TONGUE07_LZ,//77
MOCAPNET_3DPOINT_ENDSITE_TONGUE07_LX,//78
MOCAPNET_3DPOINT_ENDSITE_TONGUE07_LY,//79
MOCAPNET_3DPOINT_ENDSITE_TONGUE07_LZ,//80
MOCAPNET_3DPOINT_TONGUE07_RX,//81
MOCAPNET_3DPOINT_TONGUE07_RY,//82
MOCAPNET_3DPOINT_TONGUE07_RZ,//83
MOCAPNET_3DPOINT_ENDSITE_TONGUE07_RX,//84
MOCAPNET_3DPOINT_ENDSITE_TONGUE07_RY,//85
MOCAPNET_3DPOINT_ENDSITE_TONGUE07_RZ,//86
MOCAPNET_3DPOINT_TONGUE06_LX,//87
MOCAPNET_3DPOINT_TONGUE06_LY,//88
MOCAPNET_3DPOINT_TONGUE06_LZ,//89
MOCAPNET_3DPOINT_ENDSITE_TONGUE06_LX,//90
MOCAPNET_3DPOINT_ENDSITE_TONGUE06_LY,//91
MOCAPNET_3DPOINT_ENDSITE_TONGUE06_LZ,//92
MOCAPNET_3DPOINT_TONGUE06_RX,//93
MOCAPNET_3DPOINT_TONGUE06_RY,//94
MOCAPNET_3DPOINT_TONGUE06_RZ,//95
MOCAPNET_3DPOINT_ENDSITE_TONGUE06_RX,//96
MOCAPNET_3DPOINT_ENDSITE_TONGUE06_RY,//97
MOCAPNET_3DPOINT_ENDSITE_TONGUE06_RZ,//98
MOCAPNET_3DPOINT_TONGUE05_LX,//99
MOCAPNET_3DPOINT_TONGUE05_LY,//100
MOCAPNET_3DPOINT_TONGUE05_LZ,//101
MOCAPNET_3DPOINT_ENDSITE_TONGUE05_LX,//102
MOCAPNET_3DPOINT_ENDSITE_TONGUE05_LY,//103
MOCAPNET_3DPOINT_ENDSITE_TONGUE05_LZ,//104
MOCAPNET_3DPOINT_TONGUE05_RX,//105
MOCAPNET_3DPOINT_TONGUE05_RY,//106
MOCAPNET_3DPOINT_TONGUE05_RZ,//107
MOCAPNET_3DPOINT_ENDSITE_TONGUE05_RX,//108
MOCAPNET_3DPOINT_ENDSITE_TONGUE05_RY,//109
MOCAPNET_3DPOINT_ENDSITE_TONGUE05_RZ,//110
MOCAPNET_3DPOINT___LEVATOR02_LX,//111
MOCAPNET_3DPOINT___LEVATOR02_LY,//112
MOCAPNET_3DPOINT___LEVATOR02_LZ,//113
MOCAPNET_3DPOINT_LEVATOR02_LX,//114
MOCAPNET_3DPOINT_LEVATOR02_LY,//115
MOCAPNET_3DPOINT_LEVATOR02_LZ,//116
MOCAPNET_3DPOINT_LEVATOR03_LX,//117
MOCAPNET_3DPOINT_LEVATOR03_LY,//118
MOCAPNET_3DPOINT_LEVATOR03_LZ,//119
MOCAPNET_3DPOINT_LEVATOR04_LX,//120
MOCAPNET_3DPOINT_LEVATOR04_LY,//121
MOCAPNET_3DPOINT_LEVATOR04_LZ,//122
MOCAPNET_3DPOINT_LEVATOR05_LX,//123
MOCAPNET_3DPOINT_LEVATOR05_LY,//124
MOCAPNET_3DPOINT_LEVATOR05_LZ,//125
MOCAPNET_3DPOINT_ENDSITE_LEVATOR05_LX,//126
MOCAPNET_3DPOINT_ENDSITE_LEVATOR05_LY,//127
MOCAPNET_3DPOINT_ENDSITE_LEVATOR05_LZ,//128
MOCAPNET_3DPOINT___LEVATOR02_RX,//129
MOCAPNET_3DPOINT___LEVATOR02_RY,//130
MOCAPNET_3DPOINT___LEVATOR02_RZ,//131
MOCAPNET_3DPOINT_LEVATOR02_RX,//132
MOCAPNET_3DPOINT_LEVATOR02_RY,//133
MOCAPNET_3DPOINT_LEVATOR02_RZ,//134
MOCAPNET_3DPOINT_LEVATOR03_RX,//135
MOCAPNET_3DPOINT_LEVATOR03_RY,//136
MOCAPNET_3DPOINT_LEVATOR03_RZ,//137
MOCAPNET_3DPOINT_LEVATOR04_RX,//138
MOCAPNET_3DPOINT_LEVATOR04_RY,//139
MOCAPNET_3DPOINT_LEVATOR04_RZ,//140
MOCAPNET_3DPOINT_LEVATOR05_RX,//141
MOCAPNET_3DPOINT_LEVATOR05_RY,//142
MOCAPNET_3DPOINT_LEVATOR05_RZ,//143
MOCAPNET_3DPOINT_ENDSITE_LEVATOR05_RX,//144
MOCAPNET_3DPOINT_ENDSITE_LEVATOR05_RY,//145
MOCAPNET_3DPOINT_ENDSITE_LEVATOR05_RZ,//146
MOCAPNET_3DPOINT___SPECIAL01X,//147
MOCAPNET_3DPOINT___SPECIAL01Y,//148
MOCAPNET_3DPOINT___SPECIAL01Z,//149
MOCAPNET_3DPOINT_SPECIAL01X,//150
MOCAPNET_3DPOINT_SPECIAL01Y,//151
MOCAPNET_3DPOINT_SPECIAL01Z,//152
MOCAPNET_3DPOINT_ORIS04_LX,//153
MOCAPNET_3DPOINT_ORIS04_LY,//154
MOCAPNET_3DPOINT_ORIS04_LZ,//155
MOCAPNET_3DPOINT_ORIS03_LX,//156
MOCAPNET_3DPOINT_ORIS03_LY,//157
MOCAPNET_3DPOINT_ORIS03_LZ,//158
MOCAPNET_3DPOINT_ENDSITE_ORIS03_LX,//159
MOCAPNET_3DPOINT_ENDSITE_ORIS03_LY,//160
MOCAPNET_3DPOINT_ENDSITE_ORIS03_LZ,//161
MOCAPNET_3DPOINT_ORIS04_RX,//162
MOCAPNET_3DPOINT_ORIS04_RY,//163
MOCAPNET_3DPOINT_ORIS04_RZ,//164
MOCAPNET_3DPOINT_ORIS03_RX,//165
MOCAPNET_3DPOINT_ORIS03_RY,//166
MOCAPNET_3DPOINT_ORIS03_RZ,//167
MOCAPNET_3DPOINT_ENDSITE_ORIS03_RX,//168
MOCAPNET_3DPOINT_ENDSITE_ORIS03_RY,//169
MOCAPNET_3DPOINT_ENDSITE_ORIS03_RZ,//170
MOCAPNET_3DPOINT_ORIS06X,//171
MOCAPNET_3DPOINT_ORIS06Y,//172
MOCAPNET_3DPOINT_ORIS06Z,//173
MOCAPNET_3DPOINT_ORIS05X,//174
MOCAPNET_3DPOINT_ORIS05Y,//175
MOCAPNET_3DPOINT_ORIS05Z,//176
MOCAPNET_3DPOINT_ENDSITE_ORIS05X,//177
MOCAPNET_3DPOINT_ENDSITE_ORIS05Y,//178
MOCAPNET_3DPOINT_ENDSITE_ORIS05Z,//179
MOCAPNET_3DPOINT___SPECIAL03X,//180
MOCAPNET_3DPOINT___SPECIAL03Y,//181
MOCAPNET_3DPOINT___SPECIAL03Z,//182
MOCAPNET_3DPOINT_SPECIAL03X,//183
MOCAPNET_3DPOINT_SPECIAL03Y,//184
MOCAPNET_3DPOINT_SPECIAL03Z,//185
MOCAPNET_3DPOINT___LEVATOR06_LX,//186
MOCAPNET_3DPOINT___LEVATOR06_LY,//187
MOCAPNET_3DPOINT___LEVATOR06_LZ,//188
MOCAPNET_3DPOINT_LEVATOR06_LX,//189
MOCAPNET_3DPOINT_LEVATOR06_LY,//190
MOCAPNET_3DPOINT_LEVATOR06_LZ,//191
MOCAPNET_3DPOINT_ENDSITE_LEVATOR06_LX,//192
MOCAPNET_3DPOINT_ENDSITE_LEVATOR06_LY,//193
MOCAPNET_3DPOINT_ENDSITE_LEVATOR06_LZ,//194
MOCAPNET_3DPOINT___LEVATOR06_RX,//195
MOCAPNET_3DPOINT___LEVATOR06_RY,//196
MOCAPNET_3DPOINT___LEVATOR06_RZ,//197
MOCAPNET_3DPOINT_LEVATOR06_RX,//198
MOCAPNET_3DPOINT_LEVATOR06_RY,//199
MOCAPNET_3DPOINT_LEVATOR06_RZ,//200
MOCAPNET_3DPOINT_ENDSITE_LEVATOR06_RX,//201
MOCAPNET_3DPOINT_ENDSITE_LEVATOR06_RY,//202
MOCAPNET_3DPOINT_ENDSITE_LEVATOR06_RZ,//203
MOCAPNET_3DPOINT_SPECIAL06_LX,//204
MOCAPNET_3DPOINT_SPECIAL06_LY,//205
MOCAPNET_3DPOINT_SPECIAL06_LZ,//206
MOCAPNET_3DPOINT_SPECIAL05_LX,//207
MOCAPNET_3DPOINT_SPECIAL05_LY,//208
MOCAPNET_3DPOINT_SPECIAL05_LZ,//209
MOCAPNET_3DPOINT_EYE_LX,//210
MOCAPNET_3DPOINT_EYE_LY,//211
MOCAPNET_3DPOINT_EYE_LZ,//212
MOCAPNET_3DPOINT_ENDSITE_EYE_LX,//213
MOCAPNET_3DPOINT_ENDSITE_EYE_LY,//214
MOCAPNET_3DPOINT_ENDSITE_EYE_LZ,//215
MOCAPNET_3DPOINT_ORBICULARIS03_LX,//216
MOCAPNET_3DPOINT_ORBICULARIS03_LY,//217
MOCAPNET_3DPOINT_ORBICULARIS03_LZ,//218
MOCAPNET_3DPOINT_ENDSITE_ORBICULARIS03_LX,//219
MOCAPNET_3DPOINT_ENDSITE_ORBICULARIS03_LY,//220
MOCAPNET_3DPOINT_ENDSITE_ORBICULARIS03_LZ,//221
MOCAPNET_3DPOINT_ORBICULARIS04_LX,//222
MOCAPNET_3DPOINT_ORBICULARIS04_LY,//223
MOCAPNET_3DPOINT_ORBICULARIS04_LZ,//224
MOCAPNET_3DPOINT_ENDSITE_ORBICULARIS04_LX,//225
MOCAPNET_3DPOINT_ENDSITE_ORBICULARIS04_LY,//226
MOCAPNET_3DPOINT_ENDSITE_ORBICULARIS04_LZ,//227
MOCAPNET_3DPOINT_SPECIAL06_RX,//228
MOCAPNET_3DPOINT_SPECIAL06_RY,//229
MOCAPNET_3DPOINT_SPECIAL06_RZ,//230
MOCAPNET_3DPOINT_SPECIAL05_RX,//231
MOCAPNET_3DPOINT_SPECIAL05_RY,//232
MOCAPNET_3DPOINT_SPECIAL05_RZ,//233
MOCAPNET_3DPOINT_EYE_RX,//234
MOCAPNET_3DPOINT_EYE_RY,//235
MOCAPNET_3DPOINT_EYE_RZ,//236
MOCAPNET_3DPOINT_ENDSITE_EYE_RX,//237
MOCAPNET_3DPOINT_ENDSITE_EYE_RY,//238
MOCAPNET_3DPOINT_ENDSITE_EYE_RZ,//239
MOCAPNET_3DPOINT_ORBICULARIS03_RX,//240
MOCAPNET_3DPOINT_ORBICULARIS03_RY,//241
MOCAPNET_3DPOINT_ORBICULARIS03_RZ,//242
MOCAPNET_3DPOINT_ENDSITE_ORBICULARIS03_RX,//243
MOCAPNET_3DPOINT_ENDSITE_ORBICULARIS03_RY,//244
MOCAPNET_3DPOINT_ENDSITE_ORBICULARIS03_RZ,//245
MOCAPNET_3DPOINT_ORBICULARIS04_RX,//246
MOCAPNET_3DPOINT_ORBICULARIS04_RY,//247
MOCAPNET_3DPOINT_ORBICULARIS04_RZ,//248
MOCAPNET_3DPOINT_ENDSITE_ORBICULARIS04_RX,//249
MOCAPNET_3DPOINT_ENDSITE_ORBICULARIS04_RY,//250
MOCAPNET_3DPOINT_ENDSITE_ORBICULARIS04_RZ,//251
MOCAPNET_3DPOINT___TEMPORALIS01_LX,//252
MOCAPNET_3DPOINT___TEMPORALIS01_LY,//253
MOCAPNET_3DPOINT___TEMPORALIS01_LZ,//254
MOCAPNET_3DPOINT_TEMPORALIS01_LX,//255
MOCAPNET_3DPOINT_TEMPORALIS01_LY,//256
MOCAPNET_3DPOINT_TEMPORALIS01_LZ,//257
MOCAPNET_3DPOINT_OCULI02_LX,//258
MOCAPNET_3DPOINT_OCULI02_LY,//259
MOCAPNET_3DPOINT_OCULI02_LZ,//260
MOCAPNET_3DPOINT_OCULI01_LX,//261
MOCAPNET_3DPOINT_OCULI01_LY,//262
MOCAPNET_3DPOINT_OCULI01_LZ,//263
MOCAPNET_3DPOINT_ENDSITE_OCULI01_LX,//264
MOCAPNET_3DPOINT_ENDSITE_OCULI01_LY,//265
MOCAPNET_3DPOINT_ENDSITE_OCULI01_LZ,//266
MOCAPNET_3DPOINT___TEMPORALIS01_RX,//267
MOCAPNET_3DPOINT___TEMPORALIS01_RY,//268
MOCAPNET_3DPOINT___TEMPORALIS01_RZ,//269
MOCAPNET_3DPOINT_TEMPORALIS01_RX,//270
MOCAPNET_3DPOINT_TEMPORALIS01_RY,//271
MOCAPNET_3DPOINT_TEMPORALIS01_RZ,//272
MOCAPNET_3DPOINT_OCULI02_RX,//273
MOCAPNET_3DPOINT_OCULI02_RY,//274
MOCAPNET_3DPOINT_OCULI02_RZ,//275
MOCAPNET_3DPOINT_OCULI01_RX,//276
MOCAPNET_3DPOINT_OCULI01_RY,//277
MOCAPNET_3DPOINT_OCULI01_RZ,//278
MOCAPNET_3DPOINT_ENDSITE_OCULI01_RX,//279
MOCAPNET_3DPOINT_ENDSITE_OCULI01_RY,//280
MOCAPNET_3DPOINT_ENDSITE_OCULI01_RZ,//281
MOCAPNET_3DPOINT___TEMPORALIS02_LX,//282
MOCAPNET_3DPOINT___TEMPORALIS02_LY,//283
MOCAPNET_3DPOINT___TEMPORALIS02_LZ,//284
MOCAPNET_3DPOINT_TEMPORALIS02_LX,//285
MOCAPNET_3DPOINT_TEMPORALIS02_LY,//286
MOCAPNET_3DPOINT_TEMPORALIS02_LZ,//287
MOCAPNET_3DPOINT_RISORIUS02_LX,//288
MOCAPNET_3DPOINT_RISORIUS02_LY,//289
MOCAPNET_3DPOINT_RISORIUS02_LZ,//290
MOCAPNET_3DPOINT_RISORIUS03_LX,//291
MOCAPNET_3DPOINT_RISORIUS03_LY,//292
MOCAPNET_3DPOINT_RISORIUS03_LZ,//293
MOCAPNET_3DPOINT_ENDSITE_RISORIUS03_LX,//294
MOCAPNET_3DPOINT_ENDSITE_RISORIUS03_LY,//295
MOCAPNET_3DPOINT_ENDSITE_RISORIUS03_LZ,//296
MOCAPNET_3DPOINT___TEMPORALIS02_RX,//297
MOCAPNET_3DPOINT___TEMPORALIS02_RY,//298
MOCAPNET_3DPOINT___TEMPORALIS02_RZ,//299
MOCAPNET_3DPOINT_TEMPORALIS02_RX,//300
MOCAPNET_3DPOINT_TEMPORALIS02_RY,//301
MOCAPNET_3DPOINT_TEMPORALIS02_RZ,//302
MOCAPNET_3DPOINT_RISORIUS02_RX,//303
MOCAPNET_3DPOINT_RISORIUS02_RY,//304
MOCAPNET_3DPOINT_RISORIUS02_RZ,//305
MOCAPNET_3DPOINT_RISORIUS03_RX,//306
MOCAPNET_3DPOINT_RISORIUS03_RY,//307
MOCAPNET_3DPOINT_RISORIUS03_RZ,//308
MOCAPNET_3DPOINT_ENDSITE_RISORIUS03_RX,//309
MOCAPNET_3DPOINT_ENDSITE_RISORIUS03_RY,//310
MOCAPNET_3DPOINT_ENDSITE_RISORIUS03_RZ,//311
MOCAPNET_3DPOINT_RCOLLARX,//312
MOCAPNET_3DPOINT_RCOLLARY,//313
MOCAPNET_3DPOINT_RCOLLARZ,//314
MOCAPNET_3DPOINT_RSHOULDERX,//315
MOCAPNET_3DPOINT_RSHOULDERY,//316
MOCAPNET_3DPOINT_RSHOULDERZ,//317
MOCAPNET_3DPOINT_RELBOWX,//318
MOCAPNET_3DPOINT_RELBOWY,//319
MOCAPNET_3DPOINT_RELBOWZ,//320
MOCAPNET_3DPOINT_RHANDX,//321
MOCAPNET_3DPOINT_RHANDY,//322
MOCAPNET_3DPOINT_RHANDZ,//323
MOCAPNET_3DPOINT_METACARPAL1_RX,//324
MOCAPNET_3DPOINT_METACARPAL1_RY,//325
MOCAPNET_3DPOINT_METACARPAL1_RZ,//326
MOCAPNET_3DPOINT_FINGER2_1_RX,//327
MOCAPNET_3DPOINT_FINGER2_1_RY,//328
MOCAPNET_3DPOINT_FINGER2_1_RZ,//329
MOCAPNET_3DPOINT_FINGER2_2_RX,//330
MOCAPNET_3DPOINT_FINGER2_2_RY,//331
MOCAPNET_3DPOINT_FINGER2_2_RZ,//332
MOCAPNET_3DPOINT_FINGER2_3_RX,//333
MOCAPNET_3DPOINT_FINGER2_3_RY,//334
MOCAPNET_3DPOINT_FINGER2_3_RZ,//335
MOCAPNET_3DPOINT_ENDSITE_FINGER2_3_RX,//336
MOCAPNET_3DPOINT_ENDSITE_FINGER2_3_RY,//337
MOCAPNET_3DPOINT_ENDSITE_FINGER2_3_RZ,//338
MOCAPNET_3DPOINT_METACARPAL2_RX,//339
MOCAPNET_3DPOINT_METACARPAL2_RY,//340
MOCAPNET_3DPOINT_METACARPAL2_RZ,//341
MOCAPNET_3DPOINT_FINGER3_1_RX,//342
MOCAPNET_3DPOINT_FINGER3_1_RY,//343
MOCAPNET_3DPOINT_FINGER3_1_RZ,//344
MOCAPNET_3DPOINT_FINGER3_2_RX,//345
MOCAPNET_3DPOINT_FINGER3_2_RY,//346
MOCAPNET_3DPOINT_FINGER3_2_RZ,//347
MOCAPNET_3DPOINT_FINGER3_3_RX,//348
MOCAPNET_3DPOINT_FINGER3_3_RY,//349
MOCAPNET_3DPOINT_FINGER3_3_RZ,//350
MOCAPNET_3DPOINT_ENDSITE_FINGER3_3_RX,//351
MOCAPNET_3DPOINT_ENDSITE_FINGER3_3_RY,//352
MOCAPNET_3DPOINT_ENDSITE_FINGER3_3_RZ,//353
MOCAPNET_3DPOINT___METACARPAL3_RX,//354
MOCAPNET_3DPOINT___METACARPAL3_RY,//355
MOCAPNET_3DPOINT___METACARPAL3_RZ,//356
MOCAPNET_3DPOINT_METACARPAL3_RX,//357
MOCAPNET_3DPOINT_METACARPAL3_RY,//358
MOCAPNET_3DPOINT_METACARPAL3_RZ,//359
MOCAPNET_3DPOINT_FINGER4_1_RX,//360
MOCAPNET_3DPOINT_FINGER4_1_RY,//361
MOCAPNET_3DPOINT_FINGER4_1_RZ,//362
MOCAPNET_3DPOINT_FINGER4_2_RX,//363
MOCAPNET_3DPOINT_FINGER4_2_RY,//364
MOCAPNET_3DPOINT_FINGER4_2_RZ,//365
MOCAPNET_3DPOINT_FINGER4_3_RX,//366
MOCAPNET_3DPOINT_FINGER4_3_RY,//367
MOCAPNET_3DPOINT_FINGER4_3_RZ,//368
MOCAPNET_3DPOINT_ENDSITE_FINGER4_3_RX,//369
MOCAPNET_3DPOINT_ENDSITE_FINGER4_3_RY,//370
MOCAPNET_3DPOINT_ENDSITE_FINGER4_3_RZ,//371
MOCAPNET_3DPOINT___METACARPAL4_RX,//372
MOCAPNET_3DPOINT___METACARPAL4_RY,//373
MOCAPNET_3DPOINT___METACARPAL4_RZ,//374
MOCAPNET_3DPOINT_METACARPAL4_RX,//375
MOCAPNET_3DPOINT_METACARPAL4_RY,//376
MOCAPNET_3DPOINT_METACARPAL4_RZ,//377
MOCAPNET_3DPOINT_FINGER5_1_RX,//378
MOCAPNET_3DPOINT_FINGER5_1_RY,//379
MOCAPNET_3DPOINT_FINGER5_1_RZ,//380
MOCAPNET_3DPOINT_FINGER5_2_RX,//381
MOCAPNET_3DPOINT_FINGER5_2_RY,//382
MOCAPNET_3DPOINT_FINGER5_2_RZ,//383
MOCAPNET_3DPOINT_FINGER5_3_RX,//384
MOCAPNET_3DPOINT_FINGER5_3_RY,//385
MOCAPNET_3DPOINT_FINGER5_3_RZ,//386
MOCAPNET_3DPOINT_ENDSITE_FINGER5_3_RX,//387
MOCAPNET_3DPOINT_ENDSITE_FINGER5_3_RY,//388
MOCAPNET_3DPOINT_ENDSITE_FINGER5_3_RZ,//389
MOCAPNET_3DPOINT___RTHUMBX,//390
MOCAPNET_3DPOINT___RTHUMBY,//391
MOCAPNET_3DPOINT___RTHUMBZ,//392
MOCAPNET_3DPOINT_RTHUMBX,//393
MOCAPNET_3DPOINT_RTHUMBY,//394
MOCAPNET_3DPOINT_RTHUMBZ,//395
MOCAPNET_3DPOINT_FINGER1_2_RX,//396
MOCAPNET_3DPOINT_FINGER1_2_RY,//397
MOCAPNET_3DPOINT_FINGER1_2_RZ,//398
MOCAPNET_3DPOINT_FINGER1_3_RX,//399
MOCAPNET_3DPOINT_FINGER1_3_RY,//400
MOCAPNET_3DPOINT_FINGER1_3_RZ,//401
MOCAPNET_3DPOINT_ENDSITE_FINGER1_3_RX,//402
MOCAPNET_3DPOINT_ENDSITE_FINGER1_3_RY,//403
MOCAPNET_3DPOINT_ENDSITE_FINGER1_3_RZ,//404
MOCAPNET_3DPOINT_LCOLLARX,//405
MOCAPNET_3DPOINT_LCOLLARY,//406
MOCAPNET_3DPOINT_LCOLLARZ,//407
MOCAPNET_3DPOINT_LSHOULDERX,//408
MOCAPNET_3DPOINT_LSHOULDERY,//409
MOCAPNET_3DPOINT_LSHOULDERZ,//410
MOCAPNET_3DPOINT_LELBOWX,//411
MOCAPNET_3DPOINT_LELBOWY,//412
MOCAPNET_3DPOINT_LELBOWZ,//413
MOCAPNET_3DPOINT_LHANDX,//414
MOCAPNET_3DPOINT_LHANDY,//415
MOCAPNET_3DPOINT_LHANDZ,//416
MOCAPNET_3DPOINT_METACARPAL1_LX,//417
MOCAPNET_3DPOINT_METACARPAL1_LY,//418
MOCAPNET_3DPOINT_METACARPAL1_LZ,//419
MOCAPNET_3DPOINT_FINGER2_1_LX,//420
MOCAPNET_3DPOINT_FINGER2_1_LY,//421
MOCAPNET_3DPOINT_FINGER2_1_LZ,//422
MOCAPNET_3DPOINT_FINGER2_2_LX,//423
MOCAPNET_3DPOINT_FINGER2_2_LY,//424
MOCAPNET_3DPOINT_FINGER2_2_LZ,//425
MOCAPNET_3DPOINT_FINGER2_3_LX,//426
MOCAPNET_3DPOINT_FINGER2_3_LY,//427
MOCAPNET_3DPOINT_FINGER2_3_LZ,//428
MOCAPNET_3DPOINT_ENDSITE_FINGER2_3_LX,//429
MOCAPNET_3DPOINT_ENDSITE_FINGER2_3_LY,//430
MOCAPNET_3DPOINT_ENDSITE_FINGER2_3_LZ,//431
MOCAPNET_3DPOINT_METACARPAL2_LX,//432
MOCAPNET_3DPOINT_METACARPAL2_LY,//433
MOCAPNET_3DPOINT_METACARPAL2_LZ,//434
MOCAPNET_3DPOINT_FINGER3_1_LX,//435
MOCAPNET_3DPOINT_FINGER3_1_LY,//436
MOCAPNET_3DPOINT_FINGER3_1_LZ,//437
MOCAPNET_3DPOINT_FINGER3_2_LX,//438
MOCAPNET_3DPOINT_FINGER3_2_LY,//439
MOCAPNET_3DPOINT_FINGER3_2_LZ,//440
MOCAPNET_3DPOINT_FINGER3_3_LX,//441
MOCAPNET_3DPOINT_FINGER3_3_LY,//442
MOCAPNET_3DPOINT_FINGER3_3_LZ,//443
MOCAPNET_3DPOINT_ENDSITE_FINGER3_3_LX,//444
MOCAPNET_3DPOINT_ENDSITE_FINGER3_3_LY,//445
MOCAPNET_3DPOINT_ENDSITE_FINGER3_3_LZ,//446
MOCAPNET_3DPOINT___METACARPAL3_LX,//447
MOCAPNET_3DPOINT___METACARPAL3_LY,//448
MOCAPNET_3DPOINT___METACARPAL3_LZ,//449
MOCAPNET_3DPOINT_METACARPAL3_LX,//450
MOCAPNET_3DPOINT_METACARPAL3_LY,//451
MOCAPNET_3DPOINT_METACARPAL3_LZ,//452
MOCAPNET_3DPOINT_FINGER4_1_LX,//453
MOCAPNET_3DPOINT_FINGER4_1_LY,//454
MOCAPNET_3DPOINT_FINGER4_1_LZ,//455
MOCAPNET_3DPOINT_FINGER4_2_LX,//456
MOCAPNET_3DPOINT_FINGER4_2_LY,//457
MOCAPNET_3DPOINT_FINGER4_2_LZ,//458
MOCAPNET_3DPOINT_FINGER4_3_LX,//459
MOCAPNET_3DPOINT_FINGER4_3_LY,//460
MOCAPNET_3DPOINT_FINGER4_3_LZ,//461
MOCAPNET_3DPOINT_ENDSITE_FINGER4_3_LX,//462
MOCAPNET_3DPOINT_ENDSITE_FINGER4_3_LY,//463
MOCAPNET_3DPOINT_ENDSITE_FINGER4_3_LZ,//464
MOCAPNET_3DPOINT___METACARPAL4_LX,//465
MOCAPNET_3DPOINT___METACARPAL4_LY,//466
MOCAPNET_3DPOINT___METACARPAL4_LZ,//467
MOCAPNET_3DPOINT_METACARPAL4_LX,//468
MOCAPNET_3DPOINT_METACARPAL4_LY,//469
MOCAPNET_3DPOINT_METACARPAL4_LZ,//470
MOCAPNET_3DPOINT_FINGER5_1_LX,//471
MOCAPNET_3DPOINT_FINGER5_1_LY,//472
MOCAPNET_3DPOINT_FINGER5_1_LZ,//473
MOCAPNET_3DPOINT_FINGER5_2_LX,//474
MOCAPNET_3DPOINT_FINGER5_2_LY,//475
MOCAPNET_3DPOINT_FINGER5_2_LZ,//476
MOCAPNET_3DPOINT_FINGER5_3_LX,//477
MOCAPNET_3DPOINT_FINGER5_3_LY,//478
MOCAPNET_3DPOINT_FINGER5_3_LZ,//479
MOCAPNET_3DPOINT_ENDSITE_FINGER5_3_LX,//480
MOCAPNET_3DPOINT_ENDSITE_FINGER5_3_LY,//481
MOCAPNET_3DPOINT_ENDSITE_FINGER5_3_LZ,//482
MOCAPNET_3DPOINT___LTHUMBX,//483
MOCAPNET_3DPOINT___LTHUMBY,//484
MOCAPNET_3DPOINT___LTHUMBZ,//485
MOCAPNET_3DPOINT_LTHUMBX,//486
MOCAPNET_3DPOINT_LTHUMBY,//487
MOCAPNET_3DPOINT_LTHUMBZ,//488
MOCAPNET_3DPOINT_FINGER1_2_LX,//489
MOCAPNET_3DPOINT_FINGER1_2_LY,//490
MOCAPNET_3DPOINT_FINGER1_2_LZ,//491
MOCAPNET_3DPOINT_FINGER1_3_LX,//492
MOCAPNET_3DPOINT_FINGER1_3_LY,//493
MOCAPNET_3DPOINT_FINGER1_3_LZ,//494
MOCAPNET_3DPOINT_ENDSITE_FINGER1_3_LX,//495
MOCAPNET_3DPOINT_ENDSITE_FINGER1_3_LY,//496
MOCAPNET_3DPOINT_ENDSITE_FINGER1_3_LZ,//497
MOCAPNET_3DPOINT_RBUTTOCKX,//498
MOCAPNET_3DPOINT_RBUTTOCKY,//499
MOCAPNET_3DPOINT_RBUTTOCKZ,//500
MOCAPNET_3DPOINT_RHIPX,//501
MOCAPNET_3DPOINT_RHIPY,//502
MOCAPNET_3DPOINT_RHIPZ,//503
MOCAPNET_3DPOINT_RKNEEX,//504
MOCAPNET_3DPOINT_RKNEEY,//505
MOCAPNET_3DPOINT_RKNEEZ,//506
MOCAPNET_3DPOINT_RFOOTX,//507
MOCAPNET_3DPOINT_RFOOTY,//508
MOCAPNET_3DPOINT_RFOOTZ,//509
MOCAPNET_3DPOINT_TOE1_1_RX,//510
MOCAPNET_3DPOINT_TOE1_1_RY,//511
MOCAPNET_3DPOINT_TOE1_1_RZ,//512
MOCAPNET_3DPOINT_TOE1_2_RX,//513
MOCAPNET_3DPOINT_TOE1_2_RY,//514
MOCAPNET_3DPOINT_TOE1_2_RZ,//515
MOCAPNET_3DPOINT_ENDSITE_TOE1_2_RX,//516
MOCAPNET_3DPOINT_ENDSITE_TOE1_2_RY,//517
MOCAPNET_3DPOINT_ENDSITE_TOE1_2_RZ,//518
MOCAPNET_3DPOINT_TOE2_1_RX,//519
MOCAPNET_3DPOINT_TOE2_1_RY,//520
MOCAPNET_3DPOINT_TOE2_1_RZ,//521
MOCAPNET_3DPOINT_TOE2_2_RX,//522
MOCAPNET_3DPOINT_TOE2_2_RY,//523
MOCAPNET_3DPOINT_TOE2_2_RZ,//524
MOCAPNET_3DPOINT_TOE2_3_RX,//525
MOCAPNET_3DPOINT_TOE2_3_RY,//526
MOCAPNET_3DPOINT_TOE2_3_RZ,//527
MOCAPNET_3DPOINT_ENDSITE_TOE2_3_RX,//528
MOCAPNET_3DPOINT_ENDSITE_TOE2_3_RY,//529
MOCAPNET_3DPOINT_ENDSITE_TOE2_3_RZ,//530
MOCAPNET_3DPOINT_TOE3_1_RX,//531
MOCAPNET_3DPOINT_TOE3_1_RY,//532
MOCAPNET_3DPOINT_TOE3_1_RZ,//533
MOCAPNET_3DPOINT_TOE3_2_RX,//534
MOCAPNET_3DPOINT_TOE3_2_RY,//535
MOCAPNET_3DPOINT_TOE3_2_RZ,//536
MOCAPNET_3DPOINT_TOE3_3_RX,//537
MOCAPNET_3DPOINT_TOE3_3_RY,//538
MOCAPNET_3DPOINT_TOE3_3_RZ,//539
MOCAPNET_3DPOINT_ENDSITE_TOE3_3_RX,//540
MOCAPNET_3DPOINT_ENDSITE_TOE3_3_RY,//541
MOCAPNET_3DPOINT_ENDSITE_TOE3_3_RZ,//542
MOCAPNET_3DPOINT_TOE4_1_RX,//543
MOCAPNET_3DPOINT_TOE4_1_RY,//544
MOCAPNET_3DPOINT_TOE4_1_RZ,//545
MOCAPNET_3DPOINT_TOE4_2_RX,//546
MOCAPNET_3DPOINT_TOE4_2_RY,//547
MOCAPNET_3DPOINT_TOE4_2_RZ,//548
MOCAPNET_3DPOINT_TOE4_3_RX,//549
MOCAPNET_3DPOINT_TOE4_3_RY,//550
MOCAPNET_3DPOINT_TOE4_3_RZ,//551
MOCAPNET_3DPOINT_ENDSITE_TOE4_3_RX,//552
MOCAPNET_3DPOINT_ENDSITE_TOE4_3_RY,//553
MOCAPNET_3DPOINT_ENDSITE_TOE4_3_RZ,//554
MOCAPNET_3DPOINT_TOE5_1_RX,//555
MOCAPNET_3DPOINT_TOE5_1_RY,//556
MOCAPNET_3DPOINT_TOE5_1_RZ,//557
MOCAPNET_3DPOINT_TOE5_2_RX,//558
MOCAPNET_3DPOINT_TOE5_2_RY,//559
MOCAPNET_3DPOINT_TOE5_2_RZ,//560
MOCAPNET_3DPOINT_TOE5_3_RX,//561
MOCAPNET_3DPOINT_TOE5_3_RY,//562
MOCAPNET_3DPOINT_TOE5_3_RZ,//563
MOCAPNET_3DPOINT_ENDSITE_TOE5_3_RX,//564
MOCAPNET_3DPOINT_ENDSITE_TOE5_3_RY,//565
MOCAPNET_3DPOINT_ENDSITE_TOE5_3_RZ,//566
MOCAPNET_3DPOINT_LBUTTOCKX,//567
MOCAPNET_3DPOINT_LBUTTOCKY,//568
MOCAPNET_3DPOINT_LBUTTOCKZ,//569
MOCAPNET_3DPOINT_LHIPX,//570
MOCAPNET_3DPOINT_LHIPY,//571
MOCAPNET_3DPOINT_LHIPZ,//572
MOCAPNET_3DPOINT_LKNEEX,//573
MOCAPNET_3DPOINT_LKNEEY,//574
MOCAPNET_3DPOINT_LKNEEZ,//575
MOCAPNET_3DPOINT_LFOOTX,//576
MOCAPNET_3DPOINT_LFOOTY,//577
MOCAPNET_3DPOINT_LFOOTZ,//578
MOCAPNET_3DPOINT_TOE1_1_LX,//579
MOCAPNET_3DPOINT_TOE1_1_LY,//580
MOCAPNET_3DPOINT_TOE1_1_LZ,//581
MOCAPNET_3DPOINT_TOE1_2_LX,//582
MOCAPNET_3DPOINT_TOE1_2_LY,//583
MOCAPNET_3DPOINT_TOE1_2_LZ,//584
MOCAPNET_3DPOINT_ENDSITE_TOE1_2_LX,//585
MOCAPNET_3DPOINT_ENDSITE_TOE1_2_LY,//586
MOCAPNET_3DPOINT_ENDSITE_TOE1_2_LZ,//587
MOCAPNET_3DPOINT_TOE2_1_LX,//588
MOCAPNET_3DPOINT_TOE2_1_LY,//589
MOCAPNET_3DPOINT_TOE2_1_LZ,//590
MOCAPNET_3DPOINT_TOE2_2_LX,//591
MOCAPNET_3DPOINT_TOE2_2_LY,//592
MOCAPNET_3DPOINT_TOE2_2_LZ,//593
MOCAPNET_3DPOINT_TOE2_3_LX,//594
MOCAPNET_3DPOINT_TOE2_3_LY,//595
MOCAPNET_3DPOINT_TOE2_3_LZ,//596
MOCAPNET_3DPOINT_ENDSITE_TOE2_3_LX,//597
MOCAPNET_3DPOINT_ENDSITE_TOE2_3_LY,//598
MOCAPNET_3DPOINT_ENDSITE_TOE2_3_LZ,//599
MOCAPNET_3DPOINT_TOE3_1_LX,//600
MOCAPNET_3DPOINT_TOE3_1_LY,//601
MOCAPNET_3DPOINT_TOE3_1_LZ,//602
MOCAPNET_3DPOINT_TOE3_2_LX,//603
MOCAPNET_3DPOINT_TOE3_2_LY,//604
MOCAPNET_3DPOINT_TOE3_2_LZ,//605
MOCAPNET_3DPOINT_TOE3_3_LX,//606
MOCAPNET_3DPOINT_TOE3_3_LY,//607
MOCAPNET_3DPOINT_TOE3_3_LZ,//608
MOCAPNET_3DPOINT_ENDSITE_TOE3_3_LX,//609
MOCAPNET_3DPOINT_ENDSITE_TOE3_3_LY,//610
MOCAPNET_3DPOINT_ENDSITE_TOE3_3_LZ,//611
MOCAPNET_3DPOINT_TOE4_1_LX,//612
MOCAPNET_3DPOINT_TOE4_1_LY,//613
MOCAPNET_3DPOINT_TOE4_1_LZ,//614
MOCAPNET_3DPOINT_TOE4_2_LX,//615
MOCAPNET_3DPOINT_TOE4_2_LY,//616
MOCAPNET_3DPOINT_TOE4_2_LZ,//617
MOCAPNET_3DPOINT_TOE4_3_LX,//618
MOCAPNET_3DPOINT_TOE4_3_LY,//619
MOCAPNET_3DPOINT_TOE4_3_LZ,//620
MOCAPNET_3DPOINT_ENDSITE_TOE4_3_LX,//621
MOCAPNET_3DPOINT_ENDSITE_TOE4_3_LY,//622
MOCAPNET_3DPOINT_ENDSITE_TOE4_3_LZ,//623
MOCAPNET_3DPOINT_TOE5_1_LX,//624
MOCAPNET_3DPOINT_TOE5_1_LY,//625
MOCAPNET_3DPOINT_TOE5_1_LZ,//626
MOCAPNET_3DPOINT_TOE5_2_LX,//627
MOCAPNET_3DPOINT_TOE5_2_LY,//628
MOCAPNET_3DPOINT_TOE5_2_LZ,//629
MOCAPNET_3DPOINT_TOE5_3_LX,//630
MOCAPNET_3DPOINT_TOE5_3_LY,//631
MOCAPNET_3DPOINT_TOE5_3_LZ,//632
MOCAPNET_3DPOINT_ENDSITE_TOE5_3_LX,//633
MOCAPNET_3DPOINT_ENDSITE_TOE5_3_LY,//634
MOCAPNET_3DPOINT_ENDSITE_TOE5_3_LZ,//635
//-------------------------------------------------------------------
MOCAPNET_3DPOINT_NUMBER
};




/**
 * @brief An array with BVH string labels
 */
static const char * MocapNET3DPositionalOutputArrayNames[] =
{
"hip_Xposition", // 0
"hip_Yposition", // 1
"hip_Zposition", // 2
"abdomen_Xposition", // 3
"abdomen_Yposition", // 4
"abdomen_Zposition", // 5
"chest_Xposition", // 6
"chest_Yposition", // 7
"chest_Zposition", // 8
"neck_Xposition", // 9
"neck_Yposition", // 10
"neck_Zposition", // 11
"neck1_Xposition", // 12
"neck1_Yposition", // 13
"neck1_Zposition", // 14
"head_Xposition", // 15
"head_Yposition", // 16
"head_Zposition", // 17
"__jaw_Xposition", // 18
"__jaw_Yposition", // 19
"__jaw_Zposition", // 20
"jaw_Xposition", // 21
"jaw_Yposition", // 22
"jaw_Zposition", // 23
"special04_Xposition", // 24
"special04_Yposition", // 25
"special04_Zposition", // 26
"oris02_Xposition", // 27
"oris02_Yposition", // 28
"oris02_Zposition", // 29
"oris01_Xposition", // 30
"oris01_Yposition", // 31
"oris01_Zposition", // 32
"endsite_oris01_Xposition", // 33
"endsite_oris01_Yposition", // 34
"endsite_oris01_Zposition", // 35
"oris06.l_Xposition", // 36
"oris06.l_Yposition", // 37
"oris06.l_Zposition", // 38
"oris07.l_Xposition", // 39
"oris07.l_Yposition", // 40
"oris07.l_Zposition", // 41
"endsite_oris07.l_Xposition", // 42
"endsite_oris07.l_Yposition", // 43
"endsite_oris07.l_Zposition", // 44
"oris06.r_Xposition", // 45
"oris06.r_Yposition", // 46
"oris06.r_Zposition", // 47
"oris07.r_Xposition", // 48
"oris07.r_Yposition", // 49
"oris07.r_Zposition", // 50
"endsite_oris07.r_Xposition", // 51
"endsite_oris07.r_Yposition", // 52
"endsite_oris07.r_Zposition", // 53
"tongue00_Xposition", // 54
"tongue00_Yposition", // 55
"tongue00_Zposition", // 56
"tongue01_Xposition", // 57
"tongue01_Yposition", // 58
"tongue01_Zposition", // 59
"tongue02_Xposition", // 60
"tongue02_Yposition", // 61
"tongue02_Zposition", // 62
"tongue03_Xposition", // 63
"tongue03_Yposition", // 64
"tongue03_Zposition", // 65
"__tongue04_Xposition", // 66
"__tongue04_Yposition", // 67
"__tongue04_Zposition", // 68
"tongue04_Xposition", // 69
"tongue04_Yposition", // 70
"tongue04_Zposition", // 71
"endsite_tongue04_Xposition", // 72
"endsite_tongue04_Yposition", // 73
"endsite_tongue04_Zposition", // 74
"tongue07.l_Xposition", // 75
"tongue07.l_Yposition", // 76
"tongue07.l_Zposition", // 77
"endsite_tongue07.l_Xposition", // 78
"endsite_tongue07.l_Yposition", // 79
"endsite_tongue07.l_Zposition", // 80
"tongue07.r_Xposition", // 81
"tongue07.r_Yposition", // 82
"tongue07.r_Zposition", // 83
"endsite_tongue07.r_Xposition", // 84
"endsite_tongue07.r_Yposition", // 85
"endsite_tongue07.r_Zposition", // 86
"tongue06.l_Xposition", // 87
"tongue06.l_Yposition", // 88
"tongue06.l_Zposition", // 89
"endsite_tongue06.l_Xposition", // 90
"endsite_tongue06.l_Yposition", // 91
"endsite_tongue06.l_Zposition", // 92
"tongue06.r_Xposition", // 93
"tongue06.r_Yposition", // 94
"tongue06.r_Zposition", // 95
"endsite_tongue06.r_Xposition", // 96
"endsite_tongue06.r_Yposition", // 97
"endsite_tongue06.r_Zposition", // 98
"tongue05.l_Xposition", // 99
"tongue05.l_Yposition", // 100
"tongue05.l_Zposition", // 101
"endsite_tongue05.l_Xposition", // 102
"endsite_tongue05.l_Yposition", // 103
"endsite_tongue05.l_Zposition", // 104
"tongue05.r_Xposition", // 105
"tongue05.r_Yposition", // 106
"tongue05.r_Zposition", // 107
"endsite_tongue05.r_Xposition", // 108
"endsite_tongue05.r_Yposition", // 109
"endsite_tongue05.r_Zposition", // 110
"__levator02.l_Xposition", // 111
"__levator02.l_Yposition", // 112
"__levator02.l_Zposition", // 113
"levator02.l_Xposition", // 114
"levator02.l_Yposition", // 115
"levator02.l_Zposition", // 116
"levator03.l_Xposition", // 117
"levator03.l_Yposition", // 118
"levator03.l_Zposition", // 119
"levator04.l_Xposition", // 120
"levator04.l_Yposition", // 121
"levator04.l_Zposition", // 122
"levator05.l_Xposition", // 123
"levator05.l_Yposition", // 124
"levator05.l_Zposition", // 125
"endsite_levator05.l_Xposition", // 126
"endsite_levator05.l_Yposition", // 127
"endsite_levator05.l_Zposition", // 128
"__levator02.r_Xposition", // 129
"__levator02.r_Yposition", // 130
"__levator02.r_Zposition", // 131
"levator02.r_Xposition", // 132
"levator02.r_Yposition", // 133
"levator02.r_Zposition", // 134
"levator03.r_Xposition", // 135
"levator03.r_Yposition", // 136
"levator03.r_Zposition", // 137
"levator04.r_Xposition", // 138
"levator04.r_Yposition", // 139
"levator04.r_Zposition", // 140
"levator05.r_Xposition", // 141
"levator05.r_Yposition", // 142
"levator05.r_Zposition", // 143
"endsite_levator05.r_Xposition", // 144
"endsite_levator05.r_Yposition", // 145
"endsite_levator05.r_Zposition", // 146
"__special01_Xposition", // 147
"__special01_Yposition", // 148
"__special01_Zposition", // 149
"special01_Xposition", // 150
"special01_Yposition", // 151
"special01_Zposition", // 152
"oris04.l_Xposition", // 153
"oris04.l_Yposition", // 154
"oris04.l_Zposition", // 155
"oris03.l_Xposition", // 156
"oris03.l_Yposition", // 157
"oris03.l_Zposition", // 158
"endsite_oris03.l_Xposition", // 159
"endsite_oris03.l_Yposition", // 160
"endsite_oris03.l_Zposition", // 161
"oris04.r_Xposition", // 162
"oris04.r_Yposition", // 163
"oris04.r_Zposition", // 164
"oris03.r_Xposition", // 165
"oris03.r_Yposition", // 166
"oris03.r_Zposition", // 167
"endsite_oris03.r_Xposition", // 168
"endsite_oris03.r_Yposition", // 169
"endsite_oris03.r_Zposition", // 170
"oris06_Xposition", // 171
"oris06_Yposition", // 172
"oris06_Zposition", // 173
"oris05_Xposition", // 174
"oris05_Yposition", // 175
"oris05_Zposition", // 176
"endsite_oris05_Xposition", // 177
"endsite_oris05_Yposition", // 178
"endsite_oris05_Zposition", // 179
"__special03_Xposition", // 180
"__special03_Yposition", // 181
"__special03_Zposition", // 182
"special03_Xposition", // 183
"special03_Yposition", // 184
"special03_Zposition", // 185
"__levator06.l_Xposition", // 186
"__levator06.l_Yposition", // 187
"__levator06.l_Zposition", // 188
"levator06.l_Xposition", // 189
"levator06.l_Yposition", // 190
"levator06.l_Zposition", // 191
"endsite_levator06.l_Xposition", // 192
"endsite_levator06.l_Yposition", // 193
"endsite_levator06.l_Zposition", // 194
"__levator06.r_Xposition", // 195
"__levator06.r_Yposition", // 196
"__levator06.r_Zposition", // 197
"levator06.r_Xposition", // 198
"levator06.r_Yposition", // 199
"levator06.r_Zposition", // 200
"endsite_levator06.r_Xposition", // 201
"endsite_levator06.r_Yposition", // 202
"endsite_levator06.r_Zposition", // 203
"special06.l_Xposition", // 204
"special06.l_Yposition", // 205
"special06.l_Zposition", // 206
"special05.l_Xposition", // 207
"special05.l_Yposition", // 208
"special05.l_Zposition", // 209
"eye.l_Xposition", // 210
"eye.l_Yposition", // 211
"eye.l_Zposition", // 212
"endsite_eye.l_Xposition", // 213
"endsite_eye.l_Yposition", // 214
"endsite_eye.l_Zposition", // 215
"orbicularis03.l_Xposition", // 216
"orbicularis03.l_Yposition", // 217
"orbicularis03.l_Zposition", // 218
"endsite_orbicularis03.l_Xposition", // 219
"endsite_orbicularis03.l_Yposition", // 220
"endsite_orbicularis03.l_Zposition", // 221
"orbicularis04.l_Xposition", // 222
"orbicularis04.l_Yposition", // 223
"orbicularis04.l_Zposition", // 224
"endsite_orbicularis04.l_Xposition", // 225
"endsite_orbicularis04.l_Yposition", // 226
"endsite_orbicularis04.l_Zposition", // 227
"special06.r_Xposition", // 228
"special06.r_Yposition", // 229
"special06.r_Zposition", // 230
"special05.r_Xposition", // 231
"special05.r_Yposition", // 232
"special05.r_Zposition", // 233
"eye.r_Xposition", // 234
"eye.r_Yposition", // 235
"eye.r_Zposition", // 236
"endsite_eye.r_Xposition", // 237
"endsite_eye.r_Yposition", // 238
"endsite_eye.r_Zposition", // 239
"orbicularis03.r_Xposition", // 240
"orbicularis03.r_Yposition", // 241
"orbicularis03.r_Zposition", // 242
"endsite_orbicularis03.r_Xposition", // 243
"endsite_orbicularis03.r_Yposition", // 244
"endsite_orbicularis03.r_Zposition", // 245
"orbicularis04.r_Xposition", // 246
"orbicularis04.r_Yposition", // 247
"orbicularis04.r_Zposition", // 248
"endsite_orbicularis04.r_Xposition", // 249
"endsite_orbicularis04.r_Yposition", // 250
"endsite_orbicularis04.r_Zposition", // 251
"__temporalis01.l_Xposition", // 252
"__temporalis01.l_Yposition", // 253
"__temporalis01.l_Zposition", // 254
"temporalis01.l_Xposition", // 255
"temporalis01.l_Yposition", // 256
"temporalis01.l_Zposition", // 257
"oculi02.l_Xposition", // 258
"oculi02.l_Yposition", // 259
"oculi02.l_Zposition", // 260
"oculi01.l_Xposition", // 261
"oculi01.l_Yposition", // 262
"oculi01.l_Zposition", // 263
"endsite_oculi01.l_Xposition", // 264
"endsite_oculi01.l_Yposition", // 265
"endsite_oculi01.l_Zposition", // 266
"__temporalis01.r_Xposition", // 267
"__temporalis01.r_Yposition", // 268
"__temporalis01.r_Zposition", // 269
"temporalis01.r_Xposition", // 270
"temporalis01.r_Yposition", // 271
"temporalis01.r_Zposition", // 272
"oculi02.r_Xposition", // 273
"oculi02.r_Yposition", // 274
"oculi02.r_Zposition", // 275
"oculi01.r_Xposition", // 276
"oculi01.r_Yposition", // 277
"oculi01.r_Zposition", // 278
"endsite_oculi01.r_Xposition", // 279
"endsite_oculi01.r_Yposition", // 280
"endsite_oculi01.r_Zposition", // 281
"__temporalis02.l_Xposition", // 282
"__temporalis02.l_Yposition", // 283
"__temporalis02.l_Zposition", // 284
"temporalis02.l_Xposition", // 285
"temporalis02.l_Yposition", // 286
"temporalis02.l_Zposition", // 287
"risorius02.l_Xposition", // 288
"risorius02.l_Yposition", // 289
"risorius02.l_Zposition", // 290
"risorius03.l_Xposition", // 291
"risorius03.l_Yposition", // 292
"risorius03.l_Zposition", // 293
"endsite_risorius03.l_Xposition", // 294
"endsite_risorius03.l_Yposition", // 295
"endsite_risorius03.l_Zposition", // 296
"__temporalis02.r_Xposition", // 297
"__temporalis02.r_Yposition", // 298
"__temporalis02.r_Zposition", // 299
"temporalis02.r_Xposition", // 300
"temporalis02.r_Yposition", // 301
"temporalis02.r_Zposition", // 302
"risorius02.r_Xposition", // 303
"risorius02.r_Yposition", // 304
"risorius02.r_Zposition", // 305
"risorius03.r_Xposition", // 306
"risorius03.r_Yposition", // 307
"risorius03.r_Zposition", // 308
"endsite_risorius03.r_Xposition", // 309
"endsite_risorius03.r_Yposition", // 310
"endsite_risorius03.r_Zposition", // 311
"rcollar_Xposition", // 312
"rcollar_Yposition", // 313
"rcollar_Zposition", // 314
"rshoulder_Xposition", // 315
"rshoulder_Yposition", // 316
"rshoulder_Zposition", // 317
"relbow_Xposition", // 318
"relbow_Yposition", // 319
"relbow_Zposition", // 320
"rhand_Xposition", // 321
"rhand_Yposition", // 322
"rhand_Zposition", // 323
"metacarpal1.r_Xposition", // 324
"metacarpal1.r_Yposition", // 325
"metacarpal1.r_Zposition", // 326
"finger2-1.r_Xposition", // 327
"finger2-1.r_Yposition", // 328
"finger2-1.r_Zposition", // 329
"finger2-2.r_Xposition", // 330
"finger2-2.r_Yposition", // 331
"finger2-2.r_Zposition", // 332
"finger2-3.r_Xposition", // 333
"finger2-3.r_Yposition", // 334
"finger2-3.r_Zposition", // 335
"endsite_finger2-3.r_Xposition", // 336
"endsite_finger2-3.r_Yposition", // 337
"endsite_finger2-3.r_Zposition", // 338
"metacarpal2.r_Xposition", // 339
"metacarpal2.r_Yposition", // 340
"metacarpal2.r_Zposition", // 341
"finger3-1.r_Xposition", // 342
"finger3-1.r_Yposition", // 343
"finger3-1.r_Zposition", // 344
"finger3-2.r_Xposition", // 345
"finger3-2.r_Yposition", // 346
"finger3-2.r_Zposition", // 347
"finger3-3.r_Xposition", // 348
"finger3-3.r_Yposition", // 349
"finger3-3.r_Zposition", // 350
"endsite_finger3-3.r_Xposition", // 351
"endsite_finger3-3.r_Yposition", // 352
"endsite_finger3-3.r_Zposition", // 353
"__metacarpal3.r_Xposition", // 354
"__metacarpal3.r_Yposition", // 355
"__metacarpal3.r_Zposition", // 356
"metacarpal3.r_Xposition", // 357
"metacarpal3.r_Yposition", // 358
"metacarpal3.r_Zposition", // 359
"finger4-1.r_Xposition", // 360
"finger4-1.r_Yposition", // 361
"finger4-1.r_Zposition", // 362
"finger4-2.r_Xposition", // 363
"finger4-2.r_Yposition", // 364
"finger4-2.r_Zposition", // 365
"finger4-3.r_Xposition", // 366
"finger4-3.r_Yposition", // 367
"finger4-3.r_Zposition", // 368
"endsite_finger4-3.r_Xposition", // 369
"endsite_finger4-3.r_Yposition", // 370
"endsite_finger4-3.r_Zposition", // 371
"__metacarpal4.r_Xposition", // 372
"__metacarpal4.r_Yposition", // 373
"__metacarpal4.r_Zposition", // 374
"metacarpal4.r_Xposition", // 375
"metacarpal4.r_Yposition", // 376
"metacarpal4.r_Zposition", // 377
"finger5-1.r_Xposition", // 378
"finger5-1.r_Yposition", // 379
"finger5-1.r_Zposition", // 380
"finger5-2.r_Xposition", // 381
"finger5-2.r_Yposition", // 382
"finger5-2.r_Zposition", // 383
"finger5-3.r_Xposition", // 384
"finger5-3.r_Yposition", // 385
"finger5-3.r_Zposition", // 386
"endsite_finger5-3.r_Xposition", // 387
"endsite_finger5-3.r_Yposition", // 388
"endsite_finger5-3.r_Zposition", // 389
"__rthumb_Xposition", // 390
"__rthumb_Yposition", // 391
"__rthumb_Zposition", // 392
"rthumb_Xposition", // 393
"rthumb_Yposition", // 394
"rthumb_Zposition", // 395
"finger1-2.r_Xposition", // 396
"finger1-2.r_Yposition", // 397
"finger1-2.r_Zposition", // 398
"finger1-3.r_Xposition", // 399
"finger1-3.r_Yposition", // 400
"finger1-3.r_Zposition", // 401
"endsite_finger1-3.r_Xposition", // 402
"endsite_finger1-3.r_Yposition", // 403
"endsite_finger1-3.r_Zposition", // 404
"lcollar_Xposition", // 405
"lcollar_Yposition", // 406
"lcollar_Zposition", // 407
"lshoulder_Xposition", // 408
"lshoulder_Yposition", // 409
"lshoulder_Zposition", // 410
"lelbow_Xposition", // 411
"lelbow_Yposition", // 412
"lelbow_Zposition", // 413
"lhand_Xposition", // 414
"lhand_Yposition", // 415
"lhand_Zposition", // 416
"metacarpal1.l_Xposition", // 417
"metacarpal1.l_Yposition", // 418
"metacarpal1.l_Zposition", // 419
"finger2-1.l_Xposition", // 420
"finger2-1.l_Yposition", // 421
"finger2-1.l_Zposition", // 422
"finger2-2.l_Xposition", // 423
"finger2-2.l_Yposition", // 424
"finger2-2.l_Zposition", // 425
"finger2-3.l_Xposition", // 426
"finger2-3.l_Yposition", // 427
"finger2-3.l_Zposition", // 428
"endsite_finger2-3.l_Xposition", // 429
"endsite_finger2-3.l_Yposition", // 430
"endsite_finger2-3.l_Zposition", // 431
"metacarpal2.l_Xposition", // 432
"metacarpal2.l_Yposition", // 433
"metacarpal2.l_Zposition", // 434
"finger3-1.l_Xposition", // 435
"finger3-1.l_Yposition", // 436
"finger3-1.l_Zposition", // 437
"finger3-2.l_Xposition", // 438
"finger3-2.l_Yposition", // 439
"finger3-2.l_Zposition", // 440
"finger3-3.l_Xposition", // 441
"finger3-3.l_Yposition", // 442
"finger3-3.l_Zposition", // 443
"endsite_finger3-3.l_Xposition", // 444
"endsite_finger3-3.l_Yposition", // 445
"endsite_finger3-3.l_Zposition", // 446
"__metacarpal3.l_Xposition", // 447
"__metacarpal3.l_Yposition", // 448
"__metacarpal3.l_Zposition", // 449
"metacarpal3.l_Xposition", // 450
"metacarpal3.l_Yposition", // 451
"metacarpal3.l_Zposition", // 452
"finger4-1.l_Xposition", // 453
"finger4-1.l_Yposition", // 454
"finger4-1.l_Zposition", // 455
"finger4-2.l_Xposition", // 456
"finger4-2.l_Yposition", // 457
"finger4-2.l_Zposition", // 458
"finger4-3.l_Xposition", // 459
"finger4-3.l_Yposition", // 460
"finger4-3.l_Zposition", // 461
"endsite_finger4-3.l_Xposition", // 462
"endsite_finger4-3.l_Yposition", // 463
"endsite_finger4-3.l_Zposition", // 464
"__metacarpal4.l_Xposition", // 465
"__metacarpal4.l_Yposition", // 466
"__metacarpal4.l_Zposition", // 467
"metacarpal4.l_Xposition", // 468
"metacarpal4.l_Yposition", // 469
"metacarpal4.l_Zposition", // 470
"finger5-1.l_Xposition", // 471
"finger5-1.l_Yposition", // 472
"finger5-1.l_Zposition", // 473
"finger5-2.l_Xposition", // 474
"finger5-2.l_Yposition", // 475
"finger5-2.l_Zposition", // 476
"finger5-3.l_Xposition", // 477
"finger5-3.l_Yposition", // 478
"finger5-3.l_Zposition", // 479
"endsite_finger5-3.l_Xposition", // 480
"endsite_finger5-3.l_Yposition", // 481
"endsite_finger5-3.l_Zposition", // 482
"__lthumb_Xposition", // 483
"__lthumb_Yposition", // 484
"__lthumb_Zposition", // 485
"lthumb_Xposition", // 486
"lthumb_Yposition", // 487
"lthumb_Zposition", // 488
"finger1-2.l_Xposition", // 489
"finger1-2.l_Yposition", // 490
"finger1-2.l_Zposition", // 491
"finger1-3.l_Xposition", // 492
"finger1-3.l_Yposition", // 493
"finger1-3.l_Zposition", // 494
"endsite_finger1-3.l_Xposition", // 495
"endsite_finger1-3.l_Yposition", // 496
"endsite_finger1-3.l_Zposition", // 497
"rbuttock_Xposition", // 498
"rbuttock_Yposition", // 499
"rbuttock_Zposition", // 500
"rhip_Xposition", // 501
"rhip_Yposition", // 502
"rhip_Zposition", // 503
"rknee_Xposition", // 504
"rknee_Yposition", // 505
"rknee_Zposition", // 506
"rfoot_Xposition", // 507
"rfoot_Yposition", // 508
"rfoot_Zposition", // 509
"toe1-1.r_Xposition", // 510
"toe1-1.r_Yposition", // 511
"toe1-1.r_Zposition", // 512
"toe1-2.r_Xposition", // 513
"toe1-2.r_Yposition", // 514
"toe1-2.r_Zposition", // 515
"endsite_toe1-2.r_Xposition", // 516
"endsite_toe1-2.r_Yposition", // 517
"endsite_toe1-2.r_Zposition", // 518
"toe2-1.r_Xposition", // 519
"toe2-1.r_Yposition", // 520
"toe2-1.r_Zposition", // 521
"toe2-2.r_Xposition", // 522
"toe2-2.r_Yposition", // 523
"toe2-2.r_Zposition", // 524
"toe2-3.r_Xposition", // 525
"toe2-3.r_Yposition", // 526
"toe2-3.r_Zposition", // 527
"endsite_toe2-3.r_Xposition", // 528
"endsite_toe2-3.r_Yposition", // 529
"endsite_toe2-3.r_Zposition", // 530
"toe3-1.r_Xposition", // 531
"toe3-1.r_Yposition", // 532
"toe3-1.r_Zposition", // 533
"toe3-2.r_Xposition", // 534
"toe3-2.r_Yposition", // 535
"toe3-2.r_Zposition", // 536
"toe3-3.r_Xposition", // 537
"toe3-3.r_Yposition", // 538
"toe3-3.r_Zposition", // 539
"endsite_toe3-3.r_Xposition", // 540
"endsite_toe3-3.r_Yposition", // 541
"endsite_toe3-3.r_Zposition", // 542
"toe4-1.r_Xposition", // 543
"toe4-1.r_Yposition", // 544
"toe4-1.r_Zposition", // 545
"toe4-2.r_Xposition", // 546
"toe4-2.r_Yposition", // 547
"toe4-2.r_Zposition", // 548
"toe4-3.r_Xposition", // 549
"toe4-3.r_Yposition", // 550
"toe4-3.r_Zposition", // 551
"endsite_toe4-3.r_Xposition", // 552
"endsite_toe4-3.r_Yposition", // 553
"endsite_toe4-3.r_Zposition", // 554
"toe5-1.r_Xposition", // 555
"toe5-1.r_Yposition", // 556
"toe5-1.r_Zposition", // 557
"toe5-2.r_Xposition", // 558
"toe5-2.r_Yposition", // 559
"toe5-2.r_Zposition", // 560
"toe5-3.r_Xposition", // 561
"toe5-3.r_Yposition", // 562
"toe5-3.r_Zposition", // 563
"endsite_toe5-3.r_Xposition", // 564
"endsite_toe5-3.r_Yposition", // 565
"endsite_toe5-3.r_Zposition", // 566
"lbuttock_Xposition", // 567
"lbuttock_Yposition", // 568
"lbuttock_Zposition", // 569
"lhip_Xposition", // 570
"lhip_Yposition", // 571
"lhip_Zposition", // 572
"lknee_Xposition", // 573
"lknee_Yposition", // 574
"lknee_Zposition", // 575
"lfoot_Xposition", // 576
"lfoot_Yposition", // 577
"lfoot_Zposition", // 578
"toe1-1.l_Xposition", // 579
"toe1-1.l_Yposition", // 580
"toe1-1.l_Zposition", // 581
"toe1-2.l_Xposition", // 582
"toe1-2.l_Yposition", // 583
"toe1-2.l_Zposition", // 584
"endsite_toe1-2.l_Xposition", // 585
"endsite_toe1-2.l_Yposition", // 586
"endsite_toe1-2.l_Zposition", // 587
"toe2-1.l_Xposition", // 588
"toe2-1.l_Yposition", // 589
"toe2-1.l_Zposition", // 590
"toe2-2.l_Xposition", // 591
"toe2-2.l_Yposition", // 592
"toe2-2.l_Zposition", // 593
"toe2-3.l_Xposition", // 594
"toe2-3.l_Yposition", // 595
"toe2-3.l_Zposition", // 596
"endsite_toe2-3.l_Xposition", // 597
"endsite_toe2-3.l_Yposition", // 598
"endsite_toe2-3.l_Zposition", // 599
"toe3-1.l_Xposition", // 600
"toe3-1.l_Yposition", // 601
"toe3-1.l_Zposition", // 602
"toe3-2.l_Xposition", // 603
"toe3-2.l_Yposition", // 604
"toe3-2.l_Zposition", // 605
"toe3-3.l_Xposition", // 606
"toe3-3.l_Yposition", // 607
"toe3-3.l_Zposition", // 608
"endsite_toe3-3.l_Xposition", // 609
"endsite_toe3-3.l_Yposition", // 610
"endsite_toe3-3.l_Zposition", // 611
"toe4-1.l_Xposition", // 612
"toe4-1.l_Yposition", // 613
"toe4-1.l_Zposition", // 614
"toe4-2.l_Xposition", // 615
"toe4-2.l_Yposition", // 616
"toe4-2.l_Zposition", // 617
"toe4-3.l_Xposition", // 618
"toe4-3.l_Yposition", // 619
"toe4-3.l_Zposition", // 620
"endsite_toe4-3.l_Xposition", // 621
"endsite_toe4-3.l_Yposition", // 622
"endsite_toe4-3.l_Zposition", // 623
"toe5-1.l_Xposition", // 624
"toe5-1.l_Yposition", // 625
"toe5-1.l_Zposition", // 626
"toe5-2.l_Xposition", // 627
"toe5-2.l_Yposition", // 628
"toe5-2.l_Zposition", // 629
"toe5-3.l_Xposition", // 630
"toe5-3.l_Yposition", // 631
"toe5-3.l_Zposition", // 632
"endsite_toe5-3.l_Xposition", // 633
"endsite_toe5-3.l_Yposition", // 634
"endsite_toe5-3.l_Zposition"// 635
};

/**
 * @brief This is a structure to encode model limits, not currently used
 */
struct MocapNETModelLimits
{
    int numberOfLimits;
    float minimumYaw1;
    float maximumYaw1;
    float minimumYaw2;
    float maximumYaw2;
    int isFlipped;
};

/**
 * @brief This is a MocapNET orientation.
 */
enum MOCAPNET_Orientation
{
 MOCAPNET_ORIENTATION_NONE=0,
 MOCAPNET_ORIENTATION_FRONT,
 MOCAPNET_ORIENTATION_BACK,
 MOCAPNET_ORIENTATION_LEFT,
 MOCAPNET_ORIENTATION_RIGHT,
 //-----------------------------
 MOCAPNET_ORIENTATION_NUMBER
};

/**
 * @brief This is an array of names for all uncompressed inputs expected from MocapNET.
 * Please notice that these 171 values correspond to triplets of 57 x,y,v ( v for visibility ) information for each joint.
 */
static const char * MocapNETOrientationNames[] =
{
 "None",
 "Front",
 "Back",
 "Left",
 "Right"
};


/**
 * @brief Each part of our 3D pose output is solved by a dedicated ensemble, this structure organizes this data
 */
struct MocapNET2SolutionPart
{
   char partName[64];
   //-----------------------------------------
   int hasOrientationScan;
   struct ButterWorth directionSignals[MOCAPNET_ORIENTATION_NUMBER];
   float orientationClassifications[4];
   //-----------------------------------------
   int perform2DAlignmentBeforeEvaluation;
   //-----------------------------------------
   std::vector<float> result;
   std::vector<float> positionalInput;
   std::vector<float> NSDM;
   std::vector<float> neuralNetworkReadyInput;
   std::vector<float> lastNeuralNetworkReadyInput;
   //-----------------------------------------
   struct TensorflowInstance models[16];
   unsigned int mode;
   unsigned int loadedModels;
   struct MocapNETModelLimits modelLimits[16];
   //-----------------------------------------
   unsigned int * selectionIndex;
   unsigned int selectionIndexLength;
};


#if USE_BVH
 #include "../../../dependencies/RGBDAcquisition/tools/PThreadWorkerPool/pthreadWorkerPool.h"
#endif


/**
 * @brief MocapNET consists of separate classes/ensembles that are invoked for particular orientations.
 * This structure holds the required tensorflow instances to make MocapNET work.
 */
struct MocapNET2
{
   //This is discontinued until further notice..
   char useRemoteMocapNETServer;
   char remoteMocapNETServerURL[128];
   int  remoteMocapNETServerPort;
   void * remoteContext;
   //--------------------------------

   //--------------------------------
   unsigned int indexesPopulated;
   //python3 exportCPPCodeFromJSONConfiguration.py --front upperbody --config dataset/upperbody_configuration.json
   unsigned int upperBodySelectionIndexesArePopulated;
   unsigned int upperBodySelectionIndexes[mocapNET_InputLength_WithoutNSDM_upperbody];
   //python3 exportCPPCodeFromJSONConfiguration.py --front lowerbody --config dataset/lowerbody_configuration.json
   unsigned int lowerBodySelectionIndexesArePopulated;
   unsigned int lowerBodySelectionIndexes[mocapNET_InputLength_WithoutNSDM_lowerbody];
   //python3 exportCPPCodeFromJSONConfiguration.py --front body --config dataset/body_configuration.json
   unsigned int bodySelectionIndexesArePopulated;
   unsigned int bodySelectionIndexes[mocapNET_InputLength_WithoutNSDM_body];
   //TODO: add hands, face here..
   //--------------------------------

   unsigned int framesReceived;

   //Body cut in two domains
   //-------------------------------------
   struct MocapNET2SolutionPart upperBody;
   struct MocapNET2SolutionPart lowerBody;
   //Full Body
   struct MocapNET2SolutionPart body;
   //Hands
   struct MocapNET2SolutionPart leftHand;
   struct MocapNET2SolutionPart rightHand;
   //Face
   struct MocapNET2SolutionPart face;
   //--------------------------------
   float neuralNetworkFramerate;
   //--------------------------------

   //Inverse Kinematics settings
   //--------------------------------
   float learningRate;
   float spring;
   unsigned int iterations;
   unsigned int epochs;
   float inverseKinematicsFramerate;
   //--------------------------------

   //Solutions
   //--------------------------------
   std::vector<float> penultimateSolution;
   std::vector<float> previousSolution;
   std::vector<float> currentSolution;
   //--------------------------------

   //--------------------------------
   struct ButterWorth outputSignals[MOCAPNET_OUTPUT_NUMBER];
   //--------------------------------


   float orientationClassifications[MOCAPNET_ORIENTATION_NUMBER];
   float lastSkeletonOrientation;
   int orientation;

   struct PoseHistory poseHistoryStorage;

   //Gestures
   //-------------------------------------
   unsigned int gesturesMasterSwitch;
   unsigned int lastActivatedGesture;
   unsigned int gestureTimestamp;
   struct GestureDatabase recognizedGestures;
   void * newGestureEventCallback;

   //Poses
   //-------------------------------------
   unsigned int activePose;
   unsigned int lastActivatedPose;
   struct PoseDatabase recognizedPoses;
   void * newPoseEventCallback;

   //Artifacts
   //-------------------------------------
   struct sceneArtifacts artifacts;

   //Options
   //-------------------------------------
   struct MocapNET2Options * options;

   #if USE_BVH
     struct workerPool threadPool;
   #endif

};

void requestRealtimePriority();

/**
 * @brief Experimental: Register a function that will get called when a gesture event is detected, please keep in mind that the gesture system is under construction
 * @param Pointer to a loaded MocapNET instance
 * @param Pointer to the function that will get called
 * @retval 1=Success/0=Failure
 */
int registerGestureEventCallbackWithMocapNET(struct MocapNET2 * mnet,void * callback);


/**
 * @brief Since the C/C++ code in this repository depends on a seperate python neural network trainer, and the networks can differ depending on training parameters (and this is a research project) the series of 2D joints
 * can often change. It is also very expensive to do string matching on every frame, so before evaluating any input this call has to be executed in order to perform the correct array associations and from then on
 * we can pass 2D data without searching for labels on each frame. It needs to be called before any runMocapNET2 call
 * @param MocapNET instance
 * @param a skeletonSerialized structure that holds our 2D input
 * @param switch that enables lower body associations
 * @param switch that enables hand associations
 * @retval 1=Success/0=Failure
 */
int initializeMocapNET2InputAssociation(
                                         struct MocapNET2 * mnet,
                                         struct skeletonSerialized * input,
                                         int doLowerbody,
                                         int doHands,
                                         int doFace
                                       );

/**
 * @brief Load a MocapNET from .pb files on disk
 * @ingroup mocapnet
 * @param Pointer to a struct MocapNET that will hold the tensorflow instances on load.
 * @param Description of MocapNET session
 * @retval 1 = Success loading the files  , 0 = Failure
 */
int loadMocapNET2(struct MocapNET2 * mnet, const char * description);


/**
 * @brief run MocapNET on an input vector that has the correct formatting. If getting data from an external source
 * the prepareMocapNETInputFromUncompressedInput function could be used to prepare the input for this function.
 * @param Pointer to a valid and populated MocapNET instance
 * @param Vector of input values according to MocapNETUncompressedAndCompressedArrayNames
 * @retval 1=Success,0=Failure
 */
std::vector<float> runMocapNET2(
                                 struct MocapNET2 * mnet,
                                 struct skeletonSerialized * input,
                                 int doLowerbody,
                                 int doHands,
                                 int doFace,
                                 int doGestureDetection,
                                 unsigned int useInverseKinematics,
                                 int doOutputFiltering
                              );

/**
 * @brief Deallocate tensorflow instances and free memory
 * @param Pointer to a valid and populated MocapNET instance
 * @retval 1=Success,0=Failure
 */
int unloadMocapNET2(struct MocapNET2 * mnet);
